Merge "Make Splash-screens touch opaque cross uid"
This commit is contained in:
committed by
Android (Google) Code Review
commit
46e6bc0ca9
@@ -269,6 +269,8 @@ public class StartingSurfaceDrawer {
|
||||
// touchable or focusable by the user. We also add in the ALT_FOCUSABLE_IM
|
||||
// flag because we do know that the next window will take input
|
||||
// focus, so we want to get the IME window up on top of us right away.
|
||||
// Touches will only pass through to the host activity window and will be blocked from
|
||||
// passing to any other windows.
|
||||
windowFlags |= WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
|
||||
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
|
||||
| WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
|
||||
@@ -276,9 +278,6 @@ public class StartingSurfaceDrawer {
|
||||
params.token = appToken;
|
||||
params.packageName = activityInfo.packageName;
|
||||
params.privateFlags |= WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS;
|
||||
// Setting as trusted overlay to let touches pass through. This is safe because this
|
||||
// window is controlled by the system.
|
||||
params.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY;
|
||||
|
||||
if (!context.getResources().getCompatibilityInfo().supportsScreen()) {
|
||||
params.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_COMPATIBLE_WINDOW;
|
||||
|
||||
@@ -26,6 +26,7 @@ import android.compat.annotation.Disabled;
|
||||
import android.os.IBinder;
|
||||
import android.os.InputConstants;
|
||||
import android.os.Looper;
|
||||
import android.os.Process;
|
||||
import android.util.Slog;
|
||||
import android.view.InputChannel;
|
||||
import android.view.InputEvent;
|
||||
@@ -113,14 +114,13 @@ class ActivityRecordInputSink {
|
||||
}
|
||||
|
||||
private InputWindowHandle createInputWindowHandle() {
|
||||
InputWindowHandle inputWindowHandle = new InputWindowHandle(
|
||||
mActivityRecord.getInputApplicationHandle(false),
|
||||
InputWindowHandle inputWindowHandle = new InputWindowHandle(null,
|
||||
mActivityRecord.getDisplayId());
|
||||
inputWindowHandle.replaceTouchableRegionWithCrop(
|
||||
mActivityRecord.getParentSurfaceControl());
|
||||
inputWindowHandle.name = mName;
|
||||
inputWindowHandle.ownerUid = mActivityRecord.getUid();
|
||||
inputWindowHandle.ownerPid = mActivityRecord.getPid();
|
||||
inputWindowHandle.ownerUid = Process.myUid();
|
||||
inputWindowHandle.ownerPid = Process.myPid();
|
||||
inputWindowHandle.layoutParamsFlags =
|
||||
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
|
||||
| WindowManager.LayoutParams.FLAG_SPLIT_TOUCH;
|
||||
|
||||
Reference in New Issue
Block a user