Wear: fix charging UI registration

This commit is contained in:
Andries Smit 2022-01-01 14:33:05 +01:00
parent 7243f8fb66
commit 8f5d6670e4

View file

@ -130,15 +130,13 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferenc
} }
private void setupBatteryReceiver() { private void setupBatteryReceiver() {
if (sharedPrefs.getBoolean("simplify_ui_charging", false)) { if (sharedPrefs.getBoolean("simplify_ui_charging", false) && batteryReceiver == null) {
IntentFilter intentBatteryFilter = new IntentFilter(); IntentFilter intentBatteryFilter = new IntentFilter();
intentBatteryFilter.addAction(BatteryManager.ACTION_CHARGING); intentBatteryFilter.addAction(BatteryManager.ACTION_CHARGING);
intentBatteryFilter.addAction(BatteryManager.ACTION_DISCHARGING); intentBatteryFilter.addAction(BatteryManager.ACTION_DISCHARGING);
isCharging = checkIsCharging();
batteryReceiver = new BroadcastReceiver() { batteryReceiver = new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
isCharging = checkIsCharging();
setDataFields(); setDataFields();
invalidate(); invalidate();
} }
@ -286,7 +284,7 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferenc
} }
} }
private boolean checkIsCharging() { private boolean isCharging() {
IntentFilter iFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); IntentFilter iFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = this.registerReceiver(null, iFilter); Intent batteryStatus = this.registerReceiver(null, iFilter);
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1); int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
@ -490,7 +488,7 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferenc
} }
void setDataFieldsSimpleUi() { void setDataFieldsSimpleUi() {
if (sharedPrefs.getBoolean("simplify_ui_charging", false) && isCharging) { if (sharedPrefs.getBoolean("simplify_ui_charging", false) && isCharging()) {
mSimpleUi.setVisibility(View.VISIBLE); mSimpleUi.setVisibility(View.VISIBLE);
mSimpleSvg.setText(rawData.sSgv); mSimpleSvg.setText(rawData.sSgv);