Class FocusStateCollector

  • All Implemented Interfaces:
    kotlinx.coroutines.flow.FlowCollector

    
    public final class FocusStateCollector
     implements FlowCollector<Boolean>
                        

    Flow collector that manages window visibility state emission for older Android versions.

    This collector implements a polling strategy for devices that don't support direct window visibility observation. It starts polling when the window loses focus and stops when focus is regained, ensuring accurate visibility tracking across different Android versions.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      Unit emit(Boolean value) Handles window focus changes by starting or stopping visibility polling.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FocusStateCollector

        FocusStateCollector(CoroutineScope coroutineScope, View view, Long windowPollingInterval, MutableStateFlow<Boolean> visibilityStateFlow, InMobiLogger logger)
        Parameters:
        coroutineScope - The CoroutineScope for launching polling operations
        view - The View being observed for visibility
        windowPollingInterval - The interval between visibility checks in milliseconds
        visibilityStateFlow - The MutableStateFlow to emit visibility changes to
    • Method Detail

      • emit

         Unit emit(Boolean value)

        Handles window focus changes by starting or stopping visibility polling.

        Parameters:
        value - true if the window has focus, false if focus is lost