From 2d5a635fec95667d96ba9dd1007d393299018cb2 Mon Sep 17 00:00:00 2001 From: Eugene Susla Date: Mon, 26 Oct 2020 09:08:49 -0700 Subject: [PATCH 1/2] RESTRICT AUTOMERGE Prevent non-system overlays from showing over CDM UI Since CDM grants privileges, it should have the same overlay policy as permission UI Test: use an app wit ha visible overlay to ensure the overlay disappears when CDM is shown Fixes: 171221090 Change-Id: I4daaee7d8b710a72f6166cbb2252ef8af84c2c60 --- .../android/companiondevicemanager/DeviceChooserActivity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java index 16ef59f201f17..7bc9993751d40 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java @@ -17,6 +17,7 @@ package com.android.companiondevicemanager; import static android.companion.BluetoothDeviceFilterUtils.getDeviceMacAddress; +import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; import android.app.Activity; import android.companion.CompanionDeviceManager; @@ -56,6 +57,8 @@ public class DeviceChooserActivity extends Activity { Log.e(LOG_TAG, "About to show UI, but no devices to show"); } + getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); + if (getService().mRequest.isSingleDevice()) { setContentView(R.layout.device_confirmation); final DeviceFilterPair selectedDevice = getService().mDevicesFound.get(0); From 30e9d28c22e7c21ab8e06ba54d2df665fba9ed5e Mon Sep 17 00:00:00 2001 From: Eugene Susla Date: Fri, 4 Dec 2020 16:01:46 -0800 Subject: [PATCH 2/2] RESTRICT AUTOMERGE Allow CDM to hide overlays Since CDM has sensitive user consent UIs, it should be able to hide non-system overlays Test: use a 3p overlay app with a visible overlay to ensure overlay disappears when CDM is shown Bug: 171221090 Change-Id: I3274cb7f03f63e1fa99a9ca06759972ce2a51309 --- packages/CompanionDeviceManager/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/CompanionDeviceManager/AndroidManifest.xml b/packages/CompanionDeviceManager/AndroidManifest.xml index 42885e8193a72..c975c95b8b7cc 100644 --- a/packages/CompanionDeviceManager/AndroidManifest.xml +++ b/packages/CompanionDeviceManager/AndroidManifest.xml @@ -29,6 +29,7 @@ +