Prevent overlays on Telephony settings screen.
Ensure only system overlays are allowed on telephony settings screens.
Flag: NONE Security fix
Bug: 335387175
Test: Manually launched activities to verify no overlays are possible.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:46e18ac57da3ac50271fc2be5b20bd7799637eae)
Merged-In: I953667309753ff6fc966956e246512de97ad8638
Change-Id: I953667309753ff6fc966956e246512de97ad8638
diff --git a/src/com/android/phone/ADNList.java b/src/com/android/phone/ADNList.java
index 18b48fa..bcf1a89 100644
--- a/src/com/android/phone/ADNList.java
+++ b/src/com/android/phone/ADNList.java
@@ -81,6 +81,9 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
setContentView(R.layout.adn_list);
mEmptyText = (TextView) findViewById(android.R.id.empty);
mQueryHandler = new QueryHandler(getContentResolver());
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index 1c55256..bec2a81 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -257,6 +257,10 @@
super.onCreate(icicle);
if (DBG) log("onCreate: Intent is " + getIntent());
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
// Make sure we are running as an admin user.
UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
if (!userManager.isAdminUser()) {
diff --git a/src/com/android/phone/CdmaCallForwardOptions.java b/src/com/android/phone/CdmaCallForwardOptions.java
index d70e709..62c945f 100644
--- a/src/com/android/phone/CdmaCallForwardOptions.java
+++ b/src/com/android/phone/CdmaCallForwardOptions.java
@@ -73,6 +73,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
addPreferencesFromResource(R.xml.callforward_options);
mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
diff --git a/src/com/android/phone/CdmaCallOptions.java b/src/com/android/phone/CdmaCallOptions.java
index 4f94b58..fe6d777 100644
--- a/src/com/android/phone/CdmaCallOptions.java
+++ b/src/com/android/phone/CdmaCallOptions.java
@@ -59,6 +59,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
addPreferencesFromResource(R.xml.cdma_call_privacy);
SubscriptionInfoHelper subInfoHelper = new SubscriptionInfoHelper(this, getIntent());
diff --git a/src/com/android/phone/ChangeIccPinScreen.java b/src/com/android/phone/ChangeIccPinScreen.java
index 0784495..898b21b 100644
--- a/src/com/android/phone/ChangeIccPinScreen.java
+++ b/src/com/android/phone/ChangeIccPinScreen.java
@@ -95,6 +95,10 @@
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
mUserManager = this.getSystemService(UserManager.class);
if (mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) {
mDisallowedConfig = true;
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index d4fdca6..6b3dc9e 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -257,6 +257,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
mEntryType = getIntent().getIntExtra(EXTRA_ENTRY_TYPE, ENTRY_TYPE_UNKNOWN);
Log.d(LOG_TAG, "Launched from " + entryTypeToString(mEntryType));
diff --git a/src/com/android/phone/EnableIccPinScreen.java b/src/com/android/phone/EnableIccPinScreen.java
index 092fa64..2e6ce6e 100644
--- a/src/com/android/phone/EnableIccPinScreen.java
+++ b/src/com/android/phone/EnableIccPinScreen.java
@@ -68,6 +68,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
mUserManager = this.getSystemService(UserManager.class);
if (mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) {
mDisallowedConfig = true;
diff --git a/src/com/android/phone/GsmUmtsAdditionalCallOptions.java b/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
index 6e28922..6048c92 100644
--- a/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
+++ b/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
@@ -42,6 +42,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
addPreferencesFromResource(R.xml.gsm_umts_additional_options);
mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
diff --git a/src/com/android/phone/GsmUmtsCallBarringOptions.java b/src/com/android/phone/GsmUmtsCallBarringOptions.java
index 99dc92f..5cafa8a 100644
--- a/src/com/android/phone/GsmUmtsCallBarringOptions.java
+++ b/src/com/android/phone/GsmUmtsCallBarringOptions.java
@@ -351,6 +351,11 @@
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
if (DBG) {
Log.d(LOG_TAG, "onCreate, reading callbarring_options.xml file");
}
diff --git a/src/com/android/phone/GsmUmtsCallForwardOptions.java b/src/com/android/phone/GsmUmtsCallForwardOptions.java
index db830de..6a5cb83 100644
--- a/src/com/android/phone/GsmUmtsCallForwardOptions.java
+++ b/src/com/android/phone/GsmUmtsCallForwardOptions.java
@@ -58,6 +58,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
addPreferencesFromResource(R.xml.callforward_options);
mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
diff --git a/src/com/android/phone/GsmUmtsCallOptions.java b/src/com/android/phone/GsmUmtsCallOptions.java
index be5295d..0e666a5 100644
--- a/src/com/android/phone/GsmUmtsCallOptions.java
+++ b/src/com/android/phone/GsmUmtsCallOptions.java
@@ -43,6 +43,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
addPreferencesFromResource(R.xml.gsm_umts_call_options);
SubscriptionInfoHelper subInfoHelper = new SubscriptionInfoHelper(this, getIntent());
diff --git a/src/com/android/phone/SimContacts.java b/src/com/android/phone/SimContacts.java
index d5f7840..fcbe4a0 100644
--- a/src/com/android/phone/SimContacts.java
+++ b/src/com/android/phone/SimContacts.java
@@ -232,6 +232,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
Intent intent = getIntent();
if (intent != null) {
final String accountName = intent.getStringExtra("account_name");
diff --git a/src/com/android/phone/settings/fdn/BaseFdnContactScreen.java b/src/com/android/phone/settings/fdn/BaseFdnContactScreen.java
index 5beff34..b33421a 100644
--- a/src/com/android/phone/settings/fdn/BaseFdnContactScreen.java
+++ b/src/com/android/phone/settings/fdn/BaseFdnContactScreen.java
@@ -71,6 +71,9 @@
super.onCreate(savedInstanceState);
resolveIntent();
getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
}
protected void authenticatePin2() {
diff --git a/src/com/android/phone/settings/fdn/DeleteFdnContactScreen.java b/src/com/android/phone/settings/fdn/DeleteFdnContactScreen.java
index 7cd4c93..ab14c83 100644
--- a/src/com/android/phone/settings/fdn/DeleteFdnContactScreen.java
+++ b/src/com/android/phone/settings/fdn/DeleteFdnContactScreen.java
@@ -32,6 +32,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
// Starts PIN2 authentication only for the first time.
if (icicle == null) authenticatePin2();
setContentView(R.layout.delete_fdn_contact_screen);
diff --git a/src/com/android/phone/settings/fdn/EditFdnContactScreen.java b/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
index 6bf41f3..6bed39a 100644
--- a/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
+++ b/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
@@ -88,6 +88,9 @@
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
setContentView(R.layout.edit_fdn_contact_screen);
setupView();
diff --git a/src/com/android/phone/settings/fdn/FdnList.java b/src/com/android/phone/settings/fdn/FdnList.java
index 1b5a7af..e50fc60 100644
--- a/src/com/android/phone/settings/fdn/FdnList.java
+++ b/src/com/android/phone/settings/fdn/FdnList.java
@@ -99,6 +99,10 @@
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
ActionBar actionBar = getActionBar();
if (actionBar != null) {
// android.R.id.home will be triggered in onOptionsItemSelected()
diff --git a/src/com/android/phone/settings/fdn/FdnSetting.java b/src/com/android/phone/settings/fdn/FdnSetting.java
index ddbcc99..e9a1aed 100644
--- a/src/com/android/phone/settings/fdn/FdnSetting.java
+++ b/src/com/android/phone/settings/fdn/FdnSetting.java
@@ -509,6 +509,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
mPhone = mSubscriptionInfoHelper.getPhone();
diff --git a/src/com/android/phone/settings/fdn/GetPin2Screen.java b/src/com/android/phone/settings/fdn/GetPin2Screen.java
index 09cab46..7f3b60c 100644
--- a/src/com/android/phone/settings/fdn/GetPin2Screen.java
+++ b/src/com/android/phone/settings/fdn/GetPin2Screen.java
@@ -48,6 +48,10 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ getWindow().addSystemFlags(
+ android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
setContentView(R.layout.get_pin2_screen);
mPin2Field = (EditText) findViewById(R.id.pin);