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

Commit 1d1f5f0f authored by Jorge Ruesga's avatar Jorge Ruesga
Browse files

systemui: fix battery text level visibility



Use present flag instead of plug-in flag to determine the battery present (only hide the
text level view if the battery is not present)

Change-Id: I8e20e107bbeeecdc846833dc80c1a2754d82a039
Signed-off-by: default avatarJorge Ruesga <jorge@ruesga.com>
parent c9561a38
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ public class BatteryLevelTextView extends TextView implements
        BatteryController.BatteryStateChangeCallback{

    private BatteryStateRegistar mBatteryStateRegistar;
    private boolean mBatteryPluggedIn;
    private boolean mBatteryPresent;
    private boolean mBatteryCharging;
    private boolean mForceShow;
    private boolean mAttached;
@@ -71,10 +71,11 @@ public class BatteryLevelTextView extends TextView implements
     }

    @Override
    public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
    public void onBatteryLevelChanged(boolean present, int level, boolean pluggedIn,
            boolean charging) {
        setText(getResources().getString(R.string.battery_level_template, level));
        if (mBatteryPluggedIn != pluggedIn || mBatteryCharging != charging) {
            mBatteryPluggedIn = pluggedIn;
        if (mBatteryPresent != present || mBatteryCharging != charging) {
            mBatteryPresent = present;
            mBatteryCharging = charging;
            updateVisibility();
        }
@@ -114,7 +115,7 @@ public class BatteryLevelTextView extends TextView implements
    }

    private void updateVisibility() {
        boolean showNextPercent = mBatteryPluggedIn && (
        boolean showNextPercent = mBatteryPresent && (
                mPercentMode == BatteryController.PERCENTAGE_MODE_OUTSIDE
                || (mBatteryCharging && mPercentMode == BatteryController.PERCENTAGE_MODE_INSIDE));
        if (mStyle == BatteryController.STYLE_GONE) {
+2 −1
Original line number Diff line number Diff line
@@ -300,7 +300,8 @@ public class BatteryMeterView extends View implements DemoMode,
    }

    @Override
    public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
    public void onBatteryLevelChanged(boolean present, int level, boolean pluggedIn,
            boolean charging) {
        // TODO: Use this callback instead of own broadcast receiver.
    }

+2 −1
Original line number Diff line number Diff line
@@ -1106,7 +1106,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
                }

                @Override
                public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
                public void onBatteryLevelChanged(boolean present, int level,
                        boolean pluggedIn, boolean charging) {
                    // noop
                }

+5 −2
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ public class BatteryController extends BroadcastReceiver implements BatteryState
    private final PowerManager mPowerManager;

    private int mLevel;
    private boolean mPresent;
    private boolean mPluggedIn;
    private boolean mCharging;
    private boolean mCharged;
@@ -84,6 +85,7 @@ public class BatteryController extends BroadcastReceiver implements BatteryState
    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        pw.println("BatteryController state:");
        pw.print("  mLevel="); pw.println(mLevel);
        pw.print("  mPresent="); pw.println(mPresent);
        pw.print("  mPluggedIn="); pw.println(mPluggedIn);
        pw.print("  mCharging="); pw.println(mCharging);
        pw.print("  mCharged="); pw.println(mCharged);
@@ -93,7 +95,7 @@ public class BatteryController extends BroadcastReceiver implements BatteryState
    @Override
    public void addStateChangedCallback(BatteryStateChangeCallback cb) {
        mChangeCallbacks.add(cb);
        cb.onBatteryLevelChanged(mLevel, mPluggedIn, mCharging);
        cb.onBatteryLevelChanged(mPresent, mLevel, mPluggedIn, mCharging);
        cb.onBatteryStyleChanged(mStyle, mPercentMode);
    }

@@ -108,6 +110,7 @@ public class BatteryController extends BroadcastReceiver implements BatteryState
            mLevel = (int)(100f
                    * intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0)
                    / intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100));
            mPresent = intent.getBooleanExtra(BatteryManager.EXTRA_PRESENT, false);
            mPluggedIn = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0) != 0;

            final int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
@@ -141,7 +144,7 @@ public class BatteryController extends BroadcastReceiver implements BatteryState
    private void fireBatteryLevelChanged() {
        final int N = mChangeCallbacks.size();
        for (int i = 0; i < N; i++) {
            mChangeCallbacks.get(i).onBatteryLevelChanged(mLevel, mPluggedIn, mCharging);
            mChangeCallbacks.get(i).onBatteryLevelChanged(mPresent, mLevel, mPluggedIn, mCharging);
        }
    }

+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ package com.android.systemui.statusbar.policy;

public interface BatteryStateRegistar {
    interface BatteryStateChangeCallback {
        void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging);
        void onBatteryLevelChanged(boolean present, int level, boolean pluggedIn, boolean charging);
        void onPowerSaveChanged();
        void onBatteryStyleChanged(int style, int percentMode);
    }
Loading