DO NOT MERGE Hide overlay on KeyChainActivity
Hide non system overlay to improve security.
Test: N/A
Bug: 199754277
Merged-In: Ia0e97f40d79a7f89035572e0175990694870938f
Change-Id: Ia0e97f40d79a7f89035572e0175990694870938f
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 662b670..1722c7c 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3,6 +3,8 @@
package="com.android.keychain"
android:sharedUserId="android.uid.system"
>
+ <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
+
<application android:label="@string/app_name"
android:allowBackup="false"
android:usesCleartextTraffic="false" >
diff --git a/src/com/android/keychain/KeyChainActivity.java b/src/com/android/keychain/KeyChainActivity.java
index 7360531..276e097 100644
--- a/src/com/android/keychain/KeyChainActivity.java
+++ b/src/com/android/keychain/KeyChainActivity.java
@@ -63,6 +63,8 @@
import javax.security.auth.x500.X500Principal;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+
public class KeyChainActivity extends Activity {
private static final String TAG = "KeyChain";
@@ -86,6 +88,7 @@
@Override public void onCreate(Bundle savedState) {
super.onCreate(savedState);
+ getWindow().addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
if (savedState == null) {
mState = State.INITIAL;
} else {