mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-22 06:04:57 -05:00
50 lines
2.2 KiB
Diff
50 lines
2.2 KiB
Diff
|
From ba3aeed507b4af79be3dee4ea401a542b47247e1 Mon Sep 17 00:00:00 2001
|
||
|
From: Chalard Jean <jchalard@google.com>
|
||
|
Date: Mon, 20 May 2019 13:11:37 +0900
|
||
|
Subject: [PATCH] [RESTRICT AUTOMERGE] Protect VPN dialogs against overlay.
|
||
|
|
||
|
Bug: 130568701
|
||
|
Test: manual. After this, can't display on top of it
|
||
|
Change-Id: Ib032f800edb0416cc15f01a34954340d0d0ffa78
|
||
|
(cherry picked from commit 4e80dc2861614d25a1f957f50040a8cf04812d11)
|
||
|
(cherry picked from commit 27d47340496580d66f36a734a115e47eaf550972)
|
||
|
---
|
||
|
packages/VpnDialogs/AndroidManifest.xml | 2 ++
|
||
|
.../VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java | 3 +++
|
||
|
2 files changed, 5 insertions(+)
|
||
|
|
||
|
diff --git a/packages/VpnDialogs/AndroidManifest.xml b/packages/VpnDialogs/AndroidManifest.xml
|
||
|
index ef640d5fcedb..1e15b2257c21 100644
|
||
|
--- a/packages/VpnDialogs/AndroidManifest.xml
|
||
|
+++ b/packages/VpnDialogs/AndroidManifest.xml
|
||
|
@@ -1,6 +1,8 @@
|
||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||
|
package="com.android.vpndialogs">
|
||
|
|
||
|
+ <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
|
||
|
+
|
||
|
<application android:label="VpnDialogs"
|
||
|
android:allowBackup="false" >
|
||
|
<activity android:name=".ConfirmDialog"
|
||
|
diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
|
||
|
index 6faf4e09fcbb..65f99268ec77 100644
|
||
|
--- a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
|
||
|
+++ b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
|
||
|
@@ -16,6 +16,8 @@
|
||
|
|
||
|
package com.android.vpndialogs;
|
||
|
|
||
|
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
|
||
|
+
|
||
|
import android.content.Context;
|
||
|
import android.content.DialogInterface;
|
||
|
import android.content.Intent;
|
||
|
@@ -76,6 +78,7 @@ protected void onResume() {
|
||
|
setupAlert();
|
||
|
|
||
|
getWindow().setCloseOnTouchOutside(false);
|
||
|
+ getWindow().addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
|
||
|
mButton = mAlert.getButton(DialogInterface.BUTTON_POSITIVE);
|
||
|
mButton.setEnabled(false);
|
||
|
mButton.setFilterTouchesWhenObscured(true);
|