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

Commit a2231a75 authored by Adrian Roos's avatar Adrian Roos Committed by Android Git Automerger
Browse files

am 9c013a21: Merge "Show charging speed on Keyguard" into mnc-dr-dev

* commit '9c013a21':
  Show charging speed on Keyguard
parents 779e5e0e 9c013a21
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -101,6 +101,13 @@ public class BatteryManager {
     */
    public static final String EXTRA_INVALID_CHARGER = "invalid_charger";

    /**
     * Extra for {@link android.content.Intent#ACTION_BATTERY_CHANGED}:
     * Int value set to the maximum charging current supported by the charger in micro amperes.
     * {@hide}
     */
    public static final String EXTRA_MAX_CHARGING_CURRENT = "max_charging_current";

    // values for "status" field in the ACTION_BATTERY_CHANGED Intent
    public static final int BATTERY_STATUS_UNKNOWN = 1;
    public static final int BATTERY_STATUS_CHARGING = 2;
+4 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ public class BatteryProperties implements Parcelable {
    public boolean chargerAcOnline;
    public boolean chargerUsbOnline;
    public boolean chargerWirelessOnline;
    public int maxChargingCurrent;
    public int batteryStatus;
    public int batteryHealth;
    public boolean batteryPresent;
@@ -37,6 +38,7 @@ public class BatteryProperties implements Parcelable {
        chargerAcOnline = other.chargerAcOnline;
        chargerUsbOnline = other.chargerUsbOnline;
        chargerWirelessOnline = other.chargerWirelessOnline;
        maxChargingCurrent = other.maxChargingCurrent;
        batteryStatus = other.batteryStatus;
        batteryHealth = other.batteryHealth;
        batteryPresent = other.batteryPresent;
@@ -55,6 +57,7 @@ public class BatteryProperties implements Parcelable {
        chargerAcOnline = p.readInt() == 1 ? true : false;
        chargerUsbOnline = p.readInt() == 1 ? true : false;
        chargerWirelessOnline = p.readInt() == 1 ? true : false;
        maxChargingCurrent = p.readInt();
        batteryStatus = p.readInt();
        batteryHealth = p.readInt();
        batteryPresent = p.readInt() == 1 ? true : false;
@@ -68,6 +71,7 @@ public class BatteryProperties implements Parcelable {
        p.writeInt(chargerAcOnline ? 1 : 0);
        p.writeInt(chargerUsbOnline ? 1 : 0);
        p.writeInt(chargerWirelessOnline ? 1 : 0);
        p.writeInt(maxChargingCurrent);
        p.writeInt(batteryStatus);
        p.writeInt(batteryHealth);
        p.writeInt(batteryPresent ? 1 : 0);
+6 −0
Original line number Diff line number Diff line
@@ -22,4 +22,10 @@

    <!-- Allow the menu hard key to be disabled in LockScreen on some devices [DO NOT TRANSLATE] -->
    <bool name="config_disableMenuKeyInLockScreen">false</bool>

    <!-- Threshold in micro amperes below which a charger is rated as "slow" -->
    <integer name="config_chargingSlowlyThreshold">1000000</integer>

    <!-- Threshold in micro amperes above which a charger is rated as "fast" -->
    <integer name="config_chargingFastThreshold">1500000</integer>
</resources>
+8 −0
Original line number Diff line number Diff line
@@ -56,6 +56,14 @@
         is not fully charged, say that it's charging.  -->
    <string name="keyguard_plugged_in">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>

    <!-- 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>

    <!-- When the lock screen is showing and the battery is low, warn user to plug
         in the phone soon. -->
    <string name="keyguard_low_battery">Connect your charger.</string>
+19 −3
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import static android.os.BatteryManager.EXTRA_STATUS;
import static android.os.BatteryManager.EXTRA_PLUGGED;
import static android.os.BatteryManager.EXTRA_LEVEL;
import static android.os.BatteryManager.EXTRA_HEALTH;
import static android.os.BatteryManager.EXTRA_MAX_CHARGING_CURRENT;

import android.media.AudioManager;
import android.os.BatteryManager;
@@ -489,8 +490,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
                final int plugged = intent.getIntExtra(EXTRA_PLUGGED, 0);
                final int level = intent.getIntExtra(EXTRA_LEVEL, 0);
                final int health = intent.getIntExtra(EXTRA_HEALTH, BATTERY_HEALTH_UNKNOWN);
                final int maxChargingCurrent = intent.getIntExtra(EXTRA_MAX_CHARGING_CURRENT, -1);
                final Message msg = mHandler.obtainMessage(
                        MSG_BATTERY_UPDATE, new BatteryStatus(status, level, plugged, health));
                        MSG_BATTERY_UPDATE, new BatteryStatus(status, level, plugged, health,
                        maxChargingCurrent));
                mHandler.sendMessage(msg);
            } else if (TelephonyIntents.ACTION_SIM_STATE_CHANGED.equals(action)) {
                SimData args = SimData.fromIntent(intent);
@@ -641,15 +644,22 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
    }

    public static class BatteryStatus {
        public static final int CHARGING_UNKNOWN = -1;
        public static final int CHARGING_SLOWLY = 0;
        public static final int CHARGING_REGULAR = 1;
        public static final int CHARGING_FAST = 2;

        public final int status;
        public final int level;
        public final int plugged;
        public final int health;
        public BatteryStatus(int status, int level, int plugged, int health) {
        public final int maxChargingCurrent;
        public BatteryStatus(int status, int level, int plugged, int health, int maxChargingCurrent) {
            this.status = status;
            this.level = level;
            this.plugged = plugged;
            this.health = health;
            this.maxChargingCurrent = maxChargingCurrent;
        }

        /**
@@ -680,6 +690,12 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
            return level < LOW_BATTERY_THRESHOLD;
        }

        public final int getChargingSpeed(int slowThreshold, int fastThreshold) {
            return maxChargingCurrent <= 0 ? CHARGING_UNKNOWN :
                    maxChargingCurrent < slowThreshold ? CHARGING_SLOWLY :
                    maxChargingCurrent > fastThreshold ? CHARGING_FAST :
                    CHARGING_REGULAR;
        }
    }

    public static KeyguardUpdateMonitor getInstance(Context context) {
@@ -746,7 +762,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
        }

        // Take a guess at initial SIM state, battery status and PLMN until we get an update
        mBatteryStatus = new BatteryStatus(BATTERY_STATUS_UNKNOWN, 100, 0, 0);
        mBatteryStatus = new BatteryStatus(BATTERY_STATUS_UNKNOWN, 100, 0, 0, 0);

        // Watch for interesting updates
        final IntentFilter filter = new IntentFilter();
Loading