Class PollingVisibilityTracker
-
- All Implemented Interfaces:
-
com.inmobi.media.ads.common.visibility.tracker.VisibilityTracker
public final class PollingVisibilityTracker extends VisibilityTrackerImpl
Polling-based implementation of VisibilityTrackerImpl for periodic visibility checking.
This class provides a timer-driven visibility tracking solution that periodically checks the visibility status of a tracked view at configurable intervals. It uses coroutines for non-blocking polling operations and maintains proper lifecycle management for efficient resource usage and battery optimization.
The implementation features:
Configurable polling intervals for balancing precision and performance
Thread-safe pause/resume operations using atomic flags
Proper coroutine lifecycle management with safe cancellation
Main thread visibility checks for UI safety
Automatic polling loop termination on pause/stop operations
The polling approach is suitable for scenarios requiring real-time visibility monitoring with predictable resource consumption and configurable accuracy. It ensures visibility checks occur on the main thread for safe UI access while managing the polling logic on background threads.
-
-
Constructor Summary
Constructors Constructor Description PollingVisibilityTracker(CoroutineScope coroutineScope, PollingVisibilityTrackerConfig pollingVisibilityTrackerConfig, VisibilityTrackedView visibilityTrackedView)
-
Method Summary
-
-
Constructor Detail
-
PollingVisibilityTracker
PollingVisibilityTracker(CoroutineScope coroutineScope, PollingVisibilityTrackerConfig pollingVisibilityTrackerConfig, VisibilityTrackedView visibilityTrackedView)
-
-
Method Detail
-
resume
Unit resume()
Resumes visibility tracking.
This method sets the
isPausedflag tofalseand calls onVisibilityCheck to restart the polling process.
-
onVisibilityCheck
Unit onVisibilityCheck()
Starts the visibility polling process.
This method checks if the tracker is paused or if a visibility job is already running. If not, it launches a new coroutine to start the polling process.
-
-
-
-