From 855b1f428d77c0dd25b94ea08483049f7eccf551 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 11 Mar 2021 12:10:18 +0800 Subject: [PATCH 1/6] Hide non-system overlay window on ActivityPicker To improve security. Bug: 181962311 Test: manual Show an AlertDialog and observe if it will hide after below command. adb shell am start -a android.intent.action.PICK_ACTIVITY -n com.android.settings/.ActivityPicker Change-Id: I6e2845cc19dc012cba2933318a067bbb8db90a23 (cherry picked from commit 3b4853e109a5d95656f73d31dace4099d5dfbca7) --- src/com/android/settings/ActivityPicker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java index ae61944cbe1..f75ce3740aa 100644 --- a/src/com/android/settings/ActivityPicker.java +++ b/src/com/android/settings/ActivityPicker.java @@ -16,6 +16,8 @@ package com.android.settings; +import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + import android.app.Activity; import android.content.Context; import android.content.DialogInterface; @@ -71,6 +73,8 @@ public class ActivityPicker extends AlertActivity implements @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + getWindow().addPrivateFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); final Intent intent = getIntent(); From eac0ba87d0bfc700ab2e565ff673175f460147c6 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 11 Mar 2021 12:10:18 +0800 Subject: [PATCH 2/6] Hide non-system overlay window on ActivityPicker To improve security. Bug: 181962311 Test: manual Show an AlertDialog and observe if it will hide after below command. adb shell am start -a android.intent.action.PICK_ACTIVITY -n com.android.settings/.ActivityPicker Change-Id: I6e2845cc19dc012cba2933318a067bbb8db90a23 (cherry picked from commit 3b4853e109a5d95656f73d31dace4099d5dfbca7) --- src/com/android/settings/ActivityPicker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java index ae61944cbe1..f75ce3740aa 100644 --- a/src/com/android/settings/ActivityPicker.java +++ b/src/com/android/settings/ActivityPicker.java @@ -16,6 +16,8 @@ package com.android.settings; +import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + import android.app.Activity; import android.content.Context; import android.content.DialogInterface; @@ -71,6 +73,8 @@ public class ActivityPicker extends AlertActivity implements @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + getWindow().addPrivateFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); final Intent intent = getIntent(); From 2445ba01cd194a07a79b93ee45e2e9fff35ca9a7 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 11 Mar 2021 12:10:18 +0800 Subject: [PATCH 3/6] Hide non-system overlay window on ActivityPicker To improve security. Bug: 181962311 Test: manual Show an AlertDialog and observe if it will hide after below command. adb shell am start -a android.intent.action.PICK_ACTIVITY -n com.android.settings/.ActivityPicker Change-Id: I6e2845cc19dc012cba2933318a067bbb8db90a23 (cherry picked from commit 3b4853e109a5d95656f73d31dace4099d5dfbca7) --- src/com/android/settings/ActivityPicker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java index ae61944cbe1..f75ce3740aa 100644 --- a/src/com/android/settings/ActivityPicker.java +++ b/src/com/android/settings/ActivityPicker.java @@ -16,6 +16,8 @@ package com.android.settings; +import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + import android.app.Activity; import android.content.Context; import android.content.DialogInterface; @@ -71,6 +73,8 @@ public class ActivityPicker extends AlertActivity implements @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + getWindow().addPrivateFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); final Intent intent = getIntent(); From aef628646af22f01f80167f88980b69004cf2567 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 11 Mar 2021 12:10:18 +0800 Subject: [PATCH 4/6] Hide non-system overlay window on ActivityPicker To improve security. Bug: 181962311 Test: manual Show an AlertDialog and observe if it will hide after below command. adb shell am start -a android.intent.action.PICK_ACTIVITY -n com.android.settings/.ActivityPicker Change-Id: I6e2845cc19dc012cba2933318a067bbb8db90a23 (cherry picked from commit 3b4853e109a5d95656f73d31dace4099d5dfbca7) --- src/com/android/settings/ActivityPicker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java index ae61944cbe1..f75ce3740aa 100644 --- a/src/com/android/settings/ActivityPicker.java +++ b/src/com/android/settings/ActivityPicker.java @@ -16,6 +16,8 @@ package com.android.settings; +import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + import android.app.Activity; import android.content.Context; import android.content.DialogInterface; @@ -71,6 +73,8 @@ public class ActivityPicker extends AlertActivity implements @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + getWindow().addPrivateFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); final Intent intent = getIntent(); From 8a9fafb37d089789b2017676942da2da001ac47d Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 11 Mar 2021 12:10:18 +0800 Subject: [PATCH 5/6] Hide non-system overlay window on ActivityPicker To improve security. Bug: 181962311 Test: manual Show an AlertDialog and observe if it will hide after below command. adb shell am start -a android.intent.action.PICK_ACTIVITY -n com.android.settings/.ActivityPicker Change-Id: I6e2845cc19dc012cba2933318a067bbb8db90a23 Merged-In: I6e2845cc19dc012cba2933318a067bbb8db90a23 (cherry picked from commit 3b4853e109a5d95656f73d31dace4099d5dfbca7) --- src/com/android/settings/ActivityPicker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java index ae61944cbe1..cf2d2a0789b 100644 --- a/src/com/android/settings/ActivityPicker.java +++ b/src/com/android/settings/ActivityPicker.java @@ -16,6 +16,8 @@ package com.android.settings; +import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + import android.app.Activity; import android.content.Context; import android.content.DialogInterface; @@ -71,6 +73,8 @@ public class ActivityPicker extends AlertActivity implements @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + getWindow().addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); final Intent intent = getIntent(); From eb2ac6e45562a3829572dee77aa0ac3aeeb1aa21 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Tue, 6 Apr 2021 12:29:38 +0000 Subject: [PATCH 6/6] Revert "Hide non-system overlay window on ActivityPicker" This reverts commit 855b1f428d77c0dd25b94ea08483049f7eccf551. Reason for revert: Change-Id: Ie1eb6f86feda56d6444971fa5dfd2c11357fab01 --- src/com/android/settings/ActivityPicker.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java index f75ce3740aa..ae61944cbe1 100644 --- a/src/com/android/settings/ActivityPicker.java +++ b/src/com/android/settings/ActivityPicker.java @@ -16,8 +16,6 @@ package com.android.settings; -import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; - import android.app.Activity; import android.content.Context; import android.content.DialogInterface; @@ -73,8 +71,6 @@ public class ActivityPicker extends AlertActivity implements @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - - getWindow().addPrivateFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); final Intent intent = getIntent();