Merge "Fix the battery icon on the battery page when low battery"

This commit is contained in:
Weien Wang
2018-05-31 04:37:05 +00:00
committed by Android (Google) Code Review
4 changed files with 42 additions and 1 deletions

View File

@@ -22,6 +22,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;
import android.os.PowerManager;
import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceFragment;
import androidx.preference.PreferenceScreen;
@@ -57,6 +58,7 @@ public class BatteryHeaderPreferenceController extends AbstractPreferenceControl
private final Activity mActivity;
private final PreferenceFragment mHost;
private final Lifecycle mLifecycle;
private final PowerManager mPowerManager;
private LayoutPreference mBatteryLayoutPref;
@@ -69,6 +71,7 @@ public class BatteryHeaderPreferenceController extends AbstractPreferenceControl
if (mLifecycle != null) {
mLifecycle.addObserver(this);
}
mPowerManager = context.getSystemService(PowerManager.class);
}
@Override
@@ -115,6 +118,7 @@ public class BatteryHeaderPreferenceController extends AbstractPreferenceControl
mBatteryMeterView.setBatteryLevel(info.batteryLevel);
mBatteryMeterView.setCharging(!info.discharging);
mBatteryMeterView.setPowerSave(mPowerManager.isPowerSaveMode());
}
public void quickUpdateHeaderPreference() {
@@ -127,6 +131,7 @@ public class BatteryHeaderPreferenceController extends AbstractPreferenceControl
// Set battery level and charging status
mBatteryMeterView.setBatteryLevel(batteryLevel);
mBatteryMeterView.setCharging(!discharging);
mBatteryMeterView.setPowerSave(mPowerManager.isPowerSaveMode());
mBatteryPercentText.setText(Utils.formatPercentage(batteryLevel));
// clear all the summaries

View File

@@ -37,6 +37,7 @@ public class BatteryMeterView extends ImageView {
ColorFilter mErrorColorFilter;
@VisibleForTesting
ColorFilter mAccentColorFilter;
private boolean mPowerSaveEnabled;
public BatteryMeterView(Context context) {
this(context, null, 0);
@@ -73,6 +74,15 @@ public class BatteryMeterView extends ImageView {
}
}
public void setPowerSave(boolean powerSave) {
mDrawable.setPowerSave(powerSave);
mPowerSaveEnabled = powerSave;
}
public boolean getPowerSave() {
return mPowerSaveEnabled;
}
public int getBatteryLevel() {
return mDrawable.getBatteryLevel();
}