From 95d0fb7f4911403844666632ece42467f60ad753 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Thu, 14 Feb 2019 16:07:37 -0800 Subject: [PATCH] Do not allow draw on top for default sms picker. Fixes: 120484087 Test: manual Change-Id: I4be265565678302fad207839216d5cd65dcb6e94 Merged-In: I4be265565678302fad207839216d5cd65dcb6e94 (cherry picked from commit 9d46e1fdfe1b70618c5a92c3e3461a4b379db236) --- .../android/settings/SmsDefaultDialog.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/SmsDefaultDialog.java b/src/com/android/settings/SmsDefaultDialog.java index e38c9b8f46d..b7077f7f98d 100644 --- a/src/com/android/settings/SmsDefaultDialog.java +++ b/src/com/android/settings/SmsDefaultDialog.java @@ -16,6 +16,8 @@ package com.android.settings; +import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; @@ -30,6 +32,8 @@ import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; @@ -59,6 +63,22 @@ public final class SmsDefaultDialog extends AlertActivity implements } } + @Override + protected void onStart() { + super.onStart(); + getWindow().addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); + android.util.EventLog.writeEvent(0x534e4554, "120484087", -1, ""); + } + + @Override + protected void onStop() { + super.onStop(); + final Window window = getWindow(); + final WindowManager.LayoutParams attrs = window.getAttributes(); + attrs.privateFlags &= ~PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + window.setAttributes(attrs); + } + @Override public void onClick(DialogInterface dialog, int which) { switch (which) { @@ -84,7 +104,7 @@ public final class SmsDefaultDialog extends AlertActivity implements } private boolean buildDialog(String packageName) { - TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); + TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); if (!tm.isSmsCapable()) { // No phone, no SMS return false; @@ -194,7 +214,7 @@ public final class SmsDefaultDialog extends AlertActivity implements } else { view.findViewById(R.id.default_label).setVisibility(View.GONE); } - ImageView imageView = (ImageView)view.findViewById(android.R.id.icon); + ImageView imageView = (ImageView) view.findViewById(android.R.id.icon); imageView.setImageDrawable(item.icon); return view; }