From 07f82b79422c4c1e4bc789775c72d3ef04fbb041 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 19 Aug 2014 15:20:01 -0400 Subject: [PATCH] Don't stack toasts for every user press Showing a toast on every press was adding up to a long list of toasts to clear out of the display, now cancel the last so we don't have that problem. Also fix unlock strings to not use insertions because of problems translating the context. Bug: 16892731 Bug: 16366701 Change-Id: Ia523469089c9f8dd1f3e466a9d4ea901a376d1bc --- core/res/res/values/strings.xml | 9 +++------ core/res/res/values/symbols.xml | 1 - .../core/java/com/android/server/am/LockTaskNotify.java | 7 ++++++- .../com/android/server/am/LockToAppRequestDialog.java | 3 +-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 8912c92807f4f..b198329892e7d 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -4859,15 +4859,12 @@ Screen unpinned - - Ask for %1$s before unpinning - - PIN + Ask for PIN before unpinning - unlock pattern + Ask for unlock pattern before unpinning - password + Ask for password before unpinning To help improve battery life, battery saver reduces your device’s performance and limits vibration and most background data. Email, messaging, and other apps that rely on syncing may not update unless you open them.\n\nBattery saver turns off automatically when your device is charging diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 1f862fdfe49ad..9b3c05efe3732 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -622,7 +622,6 @@ - diff --git a/services/core/java/com/android/server/am/LockTaskNotify.java b/services/core/java/com/android/server/am/LockTaskNotify.java index cf65243f3f8a7..5768ddbe8380d 100644 --- a/services/core/java/com/android/server/am/LockTaskNotify.java +++ b/services/core/java/com/android/server/am/LockTaskNotify.java @@ -34,6 +34,7 @@ public class LockTaskNotify { private final Context mContext; private final H mHandler; private AccessibilityManager mAccessibilityManager; + private Toast mLastToast; public LockTaskNotify(Context context) { mContext = context; @@ -52,7 +53,11 @@ public class LockTaskNotify { if (!isLocked && mAccessibilityManager.isEnabled()) { text = mContext.getString(R.string.lock_to_app_toast_accessible); } - Toast.makeText(mContext, text, Toast.LENGTH_LONG).show(); + if (mLastToast != null) { + mLastToast.cancel(); + } + mLastToast = Toast.makeText(mContext, text, Toast.LENGTH_LONG); + mLastToast.show(); } public void show(boolean starting) { diff --git a/services/core/java/com/android/server/am/LockToAppRequestDialog.java b/services/core/java/com/android/server/am/LockToAppRequestDialog.java index 12dcf7eee57cc..5abf699e88964 100644 --- a/services/core/java/com/android/server/am/LockToAppRequestDialog.java +++ b/services/core/java/com/android/server/am/LockToAppRequestDialog.java @@ -102,8 +102,7 @@ public class LockToAppRequestDialog implements OnClickListener { if (unlockStringId != 0) { String unlockString = mContext.getString(unlockStringId); mCheckbox = (CheckBox) mDialog.findViewById(R.id.lock_to_app_checkbox); - mCheckbox.setText(mContext.getString(R.string.lock_to_app_use_screen_lock, - unlockString)); + mCheckbox.setText(unlockString); // Remember state. try {