private void setTouchOverlayVisibility()

in tooling/rib-intellij-plugin/native/intellij-broadcast-rib/src/main/java/com/uber/debug/broadcast/rib/RibHierarchyDebugBroadcastHandler.java [430:450]


  private void setTouchOverlayVisibility(boolean active) {
    for (UUID rootId : roots) {
      Activity activity = getActivityRecursive(rootId);
      if (activity == null || !activity.hasWindowFocus()) {
        continue;
      }
      ViewGroup rootView = (ViewGroup) activity.getWindow().getDecorView().getRootView();
      if (rootView != null) {
        if (mTouchOverlay != null && mTouchOverlay.getParent() != null) {
          ((ViewGroup) mTouchOverlay.getParent()).removeView(mTouchOverlay);
          mTouchOverlay = null;
        }
        if (active) {
          mTouchOverlay = new RibTouchOverlayView(activity.getBaseContext());
          rootView.addView(mTouchOverlay);
          rootView.bringChildToFront(mTouchOverlay);
        }
        break;
      }
    }
  }