How to use attachAccessibilityOverlayToWindow() from android accessibility service

7 hours ago 2
ARTICLE AD BOX

Currently, i am using windowManager.addView() to add accessibility overlay to display. How do i use attachAccessibilityOverlayToWindow(int accessibilityWindowId, android.view.SurfaceControl sc) to add the overlay to specific window only.

val composeView = ComposeView(service) val viewModelStore = ViewModelStore() val viewModelStoreOwner = object : ViewModelStoreOwner { override val viewModelStore = viewModelStore } val lifecycleOwner = OverlayWindowLifecycleOwner() lifecycleOwner.performRestore(null) lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_CREATE) composeView.setViewTreeLifecycleOwner(lifecycleOwner) composeView.setViewTreeSavedStateRegistryOwner(lifecycleOwner) composeView.setViewTreeViewModelStoreOwner(viewModelStoreOwner) layoutParams?.apply { type = WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY format = PixelFormat.TRANSLUCENT flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL gravity = Gravity.TOP or Gravity.START height = WindowManager.LayoutParams.MATCH_PARENT width = WindowManager.LayoutParams.MATCH_PARENT layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES } composeView.apply { setContent { OverlayScreen() } } windowManager.addView(composeView, layoutParams) lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_START) lifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_RESUME)
Read Entire Article