Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d595d20 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

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
parent 58d1d659
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -57,15 +57,15 @@

    <!-- When the lock screen is showing and the phone plugged in, and the battery
         is not fully charged, say that it's charging.  -->
    <string name="keyguard_plugged_in">Charging</string>
    <string name="keyguard_plugged_in"><xliff:g id="percentage">%s</xliff:g>Charging</string>

    <!-- When the lock screen is showing and the phone plugged in, and the battery
         is not fully charged, and it's plugged into a fast charger, say that it's charging fast.  -->
    <string name="keyguard_plugged_in_charging_fast">Charging rapidly</string>
    <string name="keyguard_plugged_in_charging_fast"><xliff:g id="percentage">%s</xliff:g>Charging rapidly</string>

    <!-- When the lock screen is showing and the phone plugged in, and the battery
         is not fully charged, and it's plugged into a slow charger, say that it's charging slowly.  -->
    <string name="keyguard_plugged_in_charging_slowly">Charging slowly</string>
    <string name="keyguard_plugged_in_charging_slowly"><xliff:g id="percentage">%s</xliff:g>Charging slowly</string>

    <!-- When the lock screen is showing and the battery is low, warn user to plug
         in the phone soon. -->
+6 −6
Original line number Diff line number Diff line
@@ -946,14 +946,14 @@
    <!-- Interruption level: Alarms only.  Optimized for narrow two-line display. [CHAR LIMIT=40] -->
    <string name="interruption_level_alarms_twoline">Alarms\nonly</string>

    <!-- Indication on the keyguard that is shown when the device is charging. [CHAR LIMIT=40]-->
    <string name="keyguard_indication_charging_time">Charging (<xliff:g id="charging_time_left" example="4 hours and 2 minutes">%s</xliff:g> until full)</string>
    <!-- Indication on the keyguard that is shown when the device is charging. [CHAR LIMIT=50]-->
    <string name="keyguard_indication_charging_time"><xliff:g id="percentage">%2$s</xliff:g>Charging (<xliff:g id="charging_time_left" example="4 hours and 2 minutes">%s</xliff:g> until full)</string>

    <!-- Indication on the keyguard that is shown when the device is charging rapidly. Should match keyguard_plugged_in_charging_fast [CHAR LIMIT=40]-->
    <string name="keyguard_indication_charging_time_fast">Charging rapidly (<xliff:g id="charging_time_left" example="4 hours and 2 minutes">%s</xliff:g> until full)</string>
    <!-- Indication on the keyguard that is shown when the device is charging rapidly. Should match keyguard_plugged_in_charging_fast [CHAR LIMIT=50]-->
    <string name="keyguard_indication_charging_time_fast"><xliff:g id="percentage">%2$s</xliff:g>Charging rapidly (<xliff:g id="charging_time_left" example="4 hours and 2 minutes">%s</xliff:g> until full)</string>

    <!-- Indication on the keyguard that is shown when the device is charging slowly. Should match keyguard_plugged_in_charging_slowly [CHAR LIMIT=40]-->
    <string name="keyguard_indication_charging_time_slowly">Charging slowly (<xliff:g id="charging_time_left" example="4 hours and 2 minutes">%s</xliff:g> until full)</string>
    <!-- Indication on the keyguard that is shown when the device is charging slowly. Should match keyguard_plugged_in_charging_slowly [CHAR LIMIT=50]-->
    <string name="keyguard_indication_charging_time_slowly"><xliff:g id="percentage">%2$s</xliff:g>Charging slowly (<xliff:g id="charging_time_left" example="4 hours and 2 minutes">%s</xliff:g> until full)</string>

    <!-- Related to user switcher --><skip/>

+18 −2
Original line number Diff line number Diff line
@@ -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,14 +412,29 @@ 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);
            try {
                return mContext.getResources().getString(chargingId, chargingTimeFormatted,
                        percentage);
            } catch (IllegalFormatConversionException e) {
                return mContext.getResources().getString(chargingId, chargingTimeFormatted);
            }
        } else {
            // Same as above
            try {
                return mContext.getResources().getString(chargingId, percentage);
            } catch (IllegalFormatConversionException e) {
                return mContext.getResources().getString(chargingId);
            }
        }
    }

    public void setStatusBarKeyguardViewManager(
            StatusBarKeyguardViewManager statusBarKeyguardViewManager) {