Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51993703 authored by Bernardo Rufino's avatar Bernardo Rufino
Browse files

Make DockedStackDivider trusted

This is the divider that contains the handle in split-screen. It's
rendered by the system, so it's trusted.

Bug: 174847794
Bug: 158002302
Test: Tap around divider in split-screen, verify no toast or log about
      untrusted touches.
Change-Id: I9d5b56192bacd26fa2faff3c9a3b2f3bdcf0634f
parent fef77320
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.view.WindowManager.LayoutParams.FLAG_SLIPPERY;
import static android.view.WindowManager.LayoutParams.FLAG_SPLIT_TOUCH;
import static android.view.WindowManager.LayoutParams.FLAG_SPLIT_TOUCH;
import static android.view.WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
import static android.view.WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY;
import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;
import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;


import android.content.Context;
import android.content.Context;
@@ -89,7 +90,7 @@ public final class SplitWindowManager extends WindowlessWindowManager {
                PixelFormat.TRANSLUCENT);
                PixelFormat.TRANSLUCENT);
        lp.token = new Binder();
        lp.token = new Binder();
        lp.setTitle(DIVIDER_WINDOW_TITLE);
        lp.setTitle(DIVIDER_WINDOW_TITLE);
        lp.privateFlags |= PRIVATE_FLAG_NO_MOVE_ANIMATION;
        lp.privateFlags |= PRIVATE_FLAG_NO_MOVE_ANIMATION | PRIVATE_FLAG_TRUSTED_OVERLAY;
        mViewHost.setView(dividerView, lp);
        mViewHost.setView(dividerView, lp);
        dividerView.setup(splitLayout, mViewHost, null /* dragListener */);
        dividerView.setup(splitLayout, mViewHost, null /* dragListener */);
    }
    }
+2 −1
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ import static android.view.WindowManager.LayoutParams.FLAG_SPLIT_TOUCH;
import static android.view.WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
import static android.view.WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY;
import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;
import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;
import static android.view.WindowManager.SHELL_ROOT_LAYER_DIVIDER;
import static android.view.WindowManager.SHELL_ROOT_LAYER_DIVIDER;


@@ -59,7 +60,7 @@ final class DividerWindowManager {
                PixelFormat.TRANSLUCENT);
                PixelFormat.TRANSLUCENT);
        mLp.token = new Binder();
        mLp.token = new Binder();
        mLp.setTitle(WINDOW_TITLE);
        mLp.setTitle(WINDOW_TITLE);
        mLp.privateFlags |= PRIVATE_FLAG_NO_MOVE_ANIMATION;
        mLp.privateFlags |= PRIVATE_FLAG_NO_MOVE_ANIMATION | PRIVATE_FLAG_TRUSTED_OVERLAY;
        mLp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
        mLp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION