From 58d1d65961c2825c003eacb4b27e88fc1105c11c Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Thu, 8 Mar 2018 18:23:17 +0000 Subject: [PATCH 1/2] Revert "Show battery percentage on indication field" This reverts commit 15ab3693363ca81cd2224018317b8429afd695e9. Reason for revert: IllegalFormatConversionException Fixes: 74386188 Change-Id: I61d82dca45a4b0b973c9ea572c63cbbb8125758d --- packages/SystemUI/res-keyguard/values/strings.xml | 6 +++--- packages/SystemUI/res/values/strings.xml | 12 ++++++------ .../statusbar/KeyguardIndicationController.java | 6 ++---- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/packages/SystemUI/res-keyguard/values/strings.xml b/packages/SystemUI/res-keyguard/values/strings.xml index 02d0d702e133e..8a48e7bd93544 100644 --- a/packages/SystemUI/res-keyguard/values/strings.xml +++ b/packages/SystemUI/res-keyguard/values/strings.xml @@ -57,15 +57,15 @@ - %s • Charging + Charging - %s • Charging rapidly + Charging rapidly - %s • Charging slowly + Charging slowly diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index c89d818bdbfd4..f0a20ce9d64d9 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -946,14 +946,14 @@ Alarms\nonly - - %2$s • Charging (%s until full) + + Charging (%s until full) - - %2$s • Charging rapidly (%s until full) + + Charging rapidly (%s until full) - - %2$s • Charging slowly (%s until full) + + Charging slowly (%s until full) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index bc14203fef13d..22e8909b48126 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -411,14 +411,12 @@ public class KeyguardIndicationController { break; } - String percentage = NumberFormat.getPercentInstance() - .format(mBatteryLevel / 100f); if (hasChargingTime) { String chargingTimeFormatted = Formatter.formatShortElapsedTimeRoundingUpToMinutes( mContext, chargingTimeRemaining); - return mContext.getResources().getString(chargingId, chargingTimeFormatted, percentage); + return mContext.getResources().getString(chargingId, chargingTimeFormatted); } else { - return mContext.getResources().getString(chargingId, percentage); + return mContext.getResources().getString(chargingId); } } From 8d595d200fbf0ecbb2e6a2e36a138bbb1a593334 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Thu, 8 Mar 2018 10:34:58 -0800 Subject: [PATCH 2/2] Show battery percentage on indication field Supports two battery formats until all locales are updated Test: visual Test: switch language, observe. Change-Id: Ib8f43601a85f24b8e315d7c67c8693060fc6d32b Bug: 74386188 --- .../SystemUI/res-keyguard/values/strings.xml | 6 +++--- packages/SystemUI/res/values/strings.xml | 12 +++++------ .../KeyguardIndicationController.java | 20 +++++++++++++++++-- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/packages/SystemUI/res-keyguard/values/strings.xml b/packages/SystemUI/res-keyguard/values/strings.xml index 8a48e7bd93544..02d0d702e133e 100644 --- a/packages/SystemUI/res-keyguard/values/strings.xml +++ b/packages/SystemUI/res-keyguard/values/strings.xml @@ -57,15 +57,15 @@ - Charging + %s • Charging - Charging rapidly + %s • Charging rapidly - Charging slowly + %s • Charging slowly diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index f0a20ce9d64d9..c89d818bdbfd4 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -946,14 +946,14 @@ Alarms\nonly - - Charging (%s until full) + + %2$s • Charging (%s until full) - - Charging rapidly (%s until full) + + %2$s • Charging rapidly (%s until full) - - Charging slowly (%s until full) + + %2$s • Charging slowly (%s until full) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index 22e8909b48126..859dc39b77cf5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -58,6 +58,7 @@ import com.android.systemui.util.wakelock.WakeLock; import java.io.FileDescriptor; import java.io.PrintWriter; import java.text.NumberFormat; +import java.util.IllegalFormatConversionException; /** * Controls the indications and error messages shown on the Keyguard @@ -411,12 +412,27 @@ public class KeyguardIndicationController { break; } + String percentage = NumberFormat.getPercentInstance() + .format(mBatteryLevel / 100f); if (hasChargingTime) { + // We now have battery percentage in these strings and it's expected that all + // locales will also have it in the future. For now, we still have to support the old + // format until all languages get the new translations. String chargingTimeFormatted = Formatter.formatShortElapsedTimeRoundingUpToMinutes( mContext, chargingTimeRemaining); - return mContext.getResources().getString(chargingId, chargingTimeFormatted); + try { + return mContext.getResources().getString(chargingId, chargingTimeFormatted, + percentage); + } catch (IllegalFormatConversionException e) { + return mContext.getResources().getString(chargingId, chargingTimeFormatted); + } } else { - return mContext.getResources().getString(chargingId); + // Same as above + try { + return mContext.getResources().getString(chargingId, percentage); + } catch (IllegalFormatConversionException e) { + return mContext.getResources().getString(chargingId); + } } }