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

Commit 629cf3b3 authored by Bruno Martins's avatar Bruno Martins
Browse files

BatteryMeterView: Hide icon on battery-less devices

Change-Id: I96a53e019ae7686d1af4ed42b9e1624fd13f4976
parent 38900aa8
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
    private int mShowPercentMode = MODE_DEFAULT;
    private String mEstimateText = null;
    private boolean mPluggedIn;
    private boolean mPresent;
    private boolean mPowerSaveEnabled;
    private boolean mIsBatteryDefender;
    private boolean mIsIncompatibleCharging;
@@ -389,6 +390,10 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
        mBatteryEstimateFetcher = fetcher;
    }

    void setBatteryPresence(boolean isPresent) {
        mPresent = isPresent;
    }

    void setDisplayShieldEnabled(boolean displayShieldEnabled) {
        mDisplayShieldEnabled = displayShieldEnabled;
    }
@@ -605,7 +610,7 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
        mBatteryStateUnknown = isUnknown;
        updateContentDescription();

        if (mBatteryStateUnknown) {
        if (mBatteryStateUnknown && mPresent) {
            mBatteryIconView.setImageDrawable(getUnknownStateDrawable());
        } else {
            updateDrawable();
@@ -693,6 +698,10 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
    }

    private void updateDrawable() {
        if (!mPresent) {
            return;
        }

        switch (getBatteryStyle()) {
            case BATTERY_STYLE_PORTRAIT:
                mBatteryIconView.setImageDrawable(mAccessorizedDrawable);
@@ -808,6 +817,7 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
        pw.println("    mBatteryStateUnknown: " + mBatteryStateUnknown);
        pw.println("    mIsIncompatibleCharging: " + mIsIncompatibleCharging);
        pw.println("    mPluggedIn: " + mPluggedIn);
        pw.println("    mPresent: " + mPresent);
        pw.println("    mLevel: " + mLevel);
        pw.println("    mMode: " + mShowPercentMode);
    }
+4 −0
Original line number Diff line number Diff line
@@ -162,8 +162,12 @@ public class BatteryMeterViewController extends ViewController<BatteryMeterView>
        mBatteryController = batteryController;

        mView.setBatteryEstimateFetcher(mBatteryController::getEstimatedTimeRemainingString);
        mView.setBatteryPresence(mBatteryController.isPresent());
        mView.setDisplayShieldEnabled(
                getContext().getResources().getBoolean(R.bool.flag_battery_shield_icon));
        if (!mBatteryController.isPresent()) {
            mView.setVisibility(View.GONE);
        }

        mSlotBattery = getResources().getString(com.android.internal.R.string.status_bar_battery);
        mSettingObserver = new SettingObserver(mMainHandler);
+5 −0
Original line number Diff line number Diff line
@@ -81,6 +81,11 @@ public interface BatteryController extends DemoMode,
        return false;
    }

    /**
     * Returns {@code true} if there's a battery present in the device.
     */
    boolean isPresent();

    /**
     * Returns {@code true} if the device is currently in power save mode.
     */
+9 −2
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC

    protected int mLevel;
    protected boolean mPluggedIn;
    protected boolean mPresent;
    private int mPluggedChargingSource;
    protected boolean mCharging;
    private boolean mStateUnknown = false;
@@ -176,6 +177,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
        ipw.print("mHasReceivedBattery="); ipw.println(mHasReceivedBattery);
        ipw.print("mLevel="); ipw.println(mLevel);
        ipw.print("mPluggedIn="); ipw.println(mPluggedIn);
        ipw.print("mPresent="); ipw.println(mPresent);
        ipw.print("mCharging="); ipw.println(mCharging);
        ipw.print("mCharged="); ipw.println(mCharged);
        ipw.print("mIsBatteryDefender="); ipw.println(mIsBatteryDefender);
@@ -262,8 +264,8 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
                fireWirelessChargingChanged();
            }

            boolean present = intent.getBooleanExtra(EXTRA_PRESENT, true);
            boolean unknown = !present;
            mPresent = intent.getBooleanExtra(EXTRA_PRESENT, true);
            boolean unknown = !mPresent;
            if (unknown != mStateUnknown) {
                mStateUnknown = unknown;
                fireBatteryUnknownStateChanged();
@@ -335,6 +337,11 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
        return mPluggedIn;
    }

    @Override
    public boolean isPresent() {
        return mPresent;
    }

    @Override
    public boolean isPowerSave() {
        return mPowerSave;
+5 −0
Original line number Diff line number Diff line
@@ -68,6 +68,11 @@ public class FakeBatteryController extends BaseLeakChecker<BatteryStateChangeCal
        return false;
    }

    @Override
    public boolean isPresent() {
        return true;
    }

    @Override
    public boolean isPowerSave() {
        return mPowerSaveMode;