Merge "Fix inconsistent connected without charging state in the Settings" into udc-qpr-dev
This commit is contained in:
@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge;
|
|||||||
|
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.os.BatteryManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -139,7 +140,10 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle
|
|||||||
if (Utils.containsIncompatibleChargers(mContext, TAG)) {
|
if (Utils.containsIncompatibleChargers(mContext, TAG)) {
|
||||||
return mContext.getString(R.string.battery_info_status_not_charging);
|
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;
|
return info.chargeLabel;
|
||||||
} else if (info.remainingLabel == null) {
|
} else if (info.remainingLabel == null) {
|
||||||
return info.batteryPercentString;
|
return info.batteryPercentString;
|
||||||
|
@@ -31,6 +31,7 @@ import android.content.Intent;
|
|||||||
import android.hardware.usb.UsbManager;
|
import android.hardware.usb.UsbManager;
|
||||||
import android.hardware.usb.UsbPort;
|
import android.hardware.usb.UsbPort;
|
||||||
import android.hardware.usb.UsbPortStatus;
|
import android.hardware.usb.UsbPortStatus;
|
||||||
|
import android.os.BatteryManager;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
@@ -145,6 +146,17 @@ public class TopLevelBatteryPreferenceControllerTest {
|
|||||||
.isEqualTo(mContext.getString(R.string.battery_info_status_not_charging));
|
.isEqualTo(mContext.getString(R.string.battery_info_status_not_charging));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getDashboardLabel_notChargingState_returnsCorrectLabel() {
|
||||||
|
mController.mPreference = new Preference(mContext);
|
||||||
|
BatteryInfo info = new BatteryInfo();
|
||||||
|
info.batteryStatus = BatteryManager.BATTERY_STATUS_NOT_CHARGING;
|
||||||
|
info.statusLabel = "expected returned label";
|
||||||
|
|
||||||
|
assertThat(mController.getDashboardLabel(mContext, info, true))
|
||||||
|
.isEqualTo(info.statusLabel);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSummary_batteryNotPresent_shouldShowWarningMessage() {
|
public void getSummary_batteryNotPresent_shouldShowWarningMessage() {
|
||||||
mController.mIsBatteryPresent = false;
|
mController.mIsBatteryPresent = false;
|
||||||
|
Reference in New Issue
Block a user