prevent overlays on the phone settings am: e827d8f13c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/services/Telephony/+/20084105
Change-Id: Ia4c864a6b6e4d1978589724bb3b37fec465366ff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 61e3189..0218948 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -201,6 +201,9 @@
<uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" />
<uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
+ <!-- Needed to block unwanted malicious pop up overlays -->
+ <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
+
<application android:name="PhoneApp"
android:persistent="true"
android:label="@string/phoneAppLabel"
diff --git a/src/com/android/phone/settings/AccessibilitySettingsActivity.java b/src/com/android/phone/settings/AccessibilitySettingsActivity.java
index 99b1478..7cc18f6 100644
--- a/src/com/android/phone/settings/AccessibilitySettingsActivity.java
+++ b/src/com/android/phone/settings/AccessibilitySettingsActivity.java
@@ -20,17 +20,21 @@
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.view.MenuItem;
+import android.view.WindowManager;
import com.android.phone.R;
public class AccessibilitySettingsActivity extends PreferenceActivity {
- @Override
+ @Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
final ActionBar actionBar = getActionBar();
if (actionBar != null) {
- actionBar.setTitle(R.string.accessibility_settings_activity_title);
+ actionBar.setTitle(R.string.accessibility_settings_activity_title);
}
getFragmentManager().beginTransaction().replace(
android.R.id.content, new AccessibilitySettingsFragment()).commit();
diff --git a/src/com/android/phone/settings/PhoneAccountSettingsActivity.java b/src/com/android/phone/settings/PhoneAccountSettingsActivity.java
index 56f5594..e15be39 100644
--- a/src/com/android/phone/settings/PhoneAccountSettingsActivity.java
+++ b/src/com/android/phone/settings/PhoneAccountSettingsActivity.java
@@ -20,6 +20,7 @@
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.view.MenuItem;
+import android.view.WindowManager;
import com.android.phone.R;
@@ -28,6 +29,9 @@
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
final ActionBar actionBar = getActionBar();
if (actionBar != null) {
actionBar.setTitle(R.string.phone_accounts);
diff --git a/src/com/android/phone/settings/PickSmsSubscriptionActivity.java b/src/com/android/phone/settings/PickSmsSubscriptionActivity.java
index cfbce28..97dada0 100644
--- a/src/com/android/phone/settings/PickSmsSubscriptionActivity.java
+++ b/src/com/android/phone/settings/PickSmsSubscriptionActivity.java
@@ -22,6 +22,7 @@
import android.os.Bundle;
import android.os.RemoteException;
import android.telephony.SubscriptionManager;
+import android.view.WindowManager;
import android.util.Log;
import com.android.internal.telephony.IIntegerConsumer;
@@ -91,6 +92,9 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
mPreviouslyStopped = false;
}
diff --git a/src/com/android/phone/settings/VoicemailSettingsActivity.java b/src/com/android/phone/settings/VoicemailSettingsActivity.java
index e18dc93..2efa81c 100644
--- a/src/com/android/phone/settings/VoicemailSettingsActivity.java
+++ b/src/com/android/phone/settings/VoicemailSettingsActivity.java
@@ -39,6 +39,7 @@
import android.text.TextUtils;
import android.util.Log;
import android.view.MenuItem;
+import android.view.WindowManager;
import android.widget.ListAdapter;
import android.widget.Toast;
@@ -210,6 +211,9 @@
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
// Make sure we are running as the primary user only
UserManager userManager = getApplicationContext().getSystemService(UserManager.class);
if (!userManager.isPrimaryUser()) {