public function run(array $context = []) { $rectangles = Manager::readConfig($context, self::CFG_RECTANGLES); if (!is_array($rectangles) || ($count = count($rectangles)) === 0) { return Manager::RET_LOOP; } $delay = (int) Manager::readConfig($context, self::CFG_DELAY, self::DEFAULT_DELAY); if ($delay <= 0) { $delay = self::DEFAULT_DELAY; $this->logger->warning('%s: delay milliseconds should be positive integer. Use default value %u.', [__CLASS__, $delay]); } $delayOffset = intval($delay / 10); $this->logger->info('Tap screen for %u point(s) with delay %u-%u ms.', [$count, $delay, $delayOffset]); foreach ($rectangles as $rectangle) { $this->input->tapInRect($rectangle); $this->delay->delayOffset($delay, $delayOffset); } return Manager::RET_LOOP; }