Update wireless charging string

Add a capability to provide different strings during wireless charging.

Bug: 316239566
Test: robotests
Change-Id: Ic7c70ae33ae951dfe931995e5ab0d478222d57c9
This commit is contained in:
Yiling Chuang
2024-04-15 07:24:59 +00:00
parent be60d166eb
commit 37a35d5833
6 changed files with 90 additions and 1 deletions

View File

@@ -43,14 +43,18 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
@VisibleForTesting BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
@VisibleForTesting UsageProgressBarPreference mBatteryUsageProgressBarPref;
private BatteryTip mBatteryTip;
private final PowerManager mPowerManager;
private final BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
private BatteryTip mBatteryTip;
public BatteryHeaderPreferenceController(Context context, String key) {
super(context, key);
mPowerManager = context.getSystemService(PowerManager.class);
mBatteryStatusFeatureProvider =
FeatureFactory.getFeatureFactory().getBatteryStatusFeatureProvider();
mBatterySettingsFeatureProvider =
FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider();
}
@Override
@@ -74,6 +78,14 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
}
private CharSequence generateLabel(BatteryInfo info) {
if (info.pluggedStatus == BatteryManager.BATTERY_PLUGGED_WIRELESS) {
final CharSequence wirelessChargingLabel =
mBatterySettingsFeatureProvider.getWirelessChargingLabel(mContext, info);
if (wirelessChargingLabel != null) {
return wirelessChargingLabel;
}
}
if (Utils.containsIncompatibleChargers(mContext, TAG)) {
return mContext.getString(
com.android.settingslib.R.string.battery_info_status_not_charging);

View File

@@ -18,6 +18,9 @@ package com.android.settings.fuelgauge;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
@@ -41,4 +44,8 @@ public interface BatterySettingsFeatureProvider {
List<BatteryTip> batteryTips,
BatteryInfo batteryInfo,
BatteryTipPolicy batteryTipPolicy);
/** Return a label for the bottom summary during wireless charging. */
@Nullable
CharSequence getWirelessChargingLabel(@NonNull Context context, @NonNull BatteryInfo info);
}

View File

@@ -18,6 +18,9 @@ package com.android.settings.fuelgauge;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
@@ -50,4 +53,11 @@ public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatur
BatteryTipPolicy batteryTipPolicy) {
batteryTips.add(new LowBatteryDetector(context, batteryTipPolicy, batteryInfo).detect());
}
@Override
@Nullable
public CharSequence getWirelessChargingLabel(
@NonNull Context context, @NonNull BatteryInfo info) {
return null;
}
}