Fix inconsistent connected without charging state in the Settings

Make the "connected, not charging" state condition is the same between
Settings main page (in the TopLevelBatteryPreferenceController), and
sub- battery settings page (in the BatteryHeaderPreferenceController).

https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Settings/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java;l=116-119

Fix: 285204150
Test: make RunSettingsRoboTests -j40

Change-Id: I9b09d521ca71b18e180c779f1a048d1ea4ba161a
This commit is contained in:
ykhung
2023-07-27 15:08:29 +08:00
committed by YK Hung
parent 98df5bcde2
commit 0610d2b682
2 changed files with 17 additions and 1 deletions

View File

@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge;
import android.content.ComponentName;
import android.content.Context;
import android.os.BatteryManager;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
@@ -139,7 +140,10 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle
if (Utils.containsIncompatibleChargers(mContext, TAG)) {
return mContext.getString(R.string.battery_info_status_not_charging);
}
if (!info.discharging && info.chargeLabel != null) {
if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
// Present status only if no remaining time or status anomalous
return info.statusLabel;
} else if (!info.discharging && info.chargeLabel != null) {
return info.chargeLabel;
} else if (info.remainingLabel == null) {
return info.batteryPercentString;