[BatteryTip] Implement new CardPreference to apply new style
- Implement a new CardPreference to apply SettingsCard - Apply CardPreference on battery tips Bug: 315748218 Test: atest SettingsSpaUnitTests:com.android.settings.widget.CardPreferenceTest Test: atest SettingsRoboTest:com.android.settings.fuelgauge Change-Id: I9a57e7739275854278b2c586793af718b0680d23
This commit is contained in:
@@ -16,12 +16,14 @@
|
||||
|
||||
package com.android.settings.fuelgauge.batterytip.tips;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Parcel;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -30,6 +32,8 @@ import com.android.settings.widget.CardPreference;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
import kotlin.Unit;
|
||||
|
||||
/** Tip to show current battery is overheated */
|
||||
public class BatteryDefenderTip extends BatteryTip {
|
||||
|
||||
@@ -83,28 +87,39 @@ public class BatteryDefenderTip extends BatteryTip {
|
||||
}
|
||||
|
||||
cardPreference.setSelectable(false);
|
||||
cardPreference.setIconResId(getIconId());
|
||||
cardPreference.setPrimaryButtonText(context.getString(R.string.learn_more));
|
||||
cardPreference.setPrimaryButtonClickListener(
|
||||
button ->
|
||||
button.startActivityForResult(
|
||||
HelpUtils.getHelpIntent(
|
||||
context,
|
||||
context.getString(R.string.help_url_battery_defender),
|
||||
/* backupContext */ ""), /* requestCode */
|
||||
0));
|
||||
cardPreference.setPrimaryButtonVisible(true);
|
||||
cardPreference.setPrimaryButtonAction(
|
||||
() -> {
|
||||
var helpIntent =
|
||||
HelpUtils.getHelpIntent(
|
||||
context,
|
||||
context.getString(R.string.help_url_battery_defender),
|
||||
/* backupContext= */ "");
|
||||
ActivityCompat.startActivityForResult(
|
||||
(Activity) preference.getContext(),
|
||||
helpIntent,
|
||||
/* requestCode= */ 0,
|
||||
/* options= */ null);
|
||||
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
cardPreference.setPrimaryButtonVisibility(true);
|
||||
cardPreference.setPrimaryButtonContentDescription(
|
||||
context.getString(
|
||||
R.string.battery_tip_limited_temporarily_sec_button_content_description));
|
||||
|
||||
cardPreference.setSecondaryButtonText(
|
||||
context.getString(R.string.battery_tip_charge_to_full_button));
|
||||
cardPreference.setSecondaryButtonClickListener(
|
||||
unused -> {
|
||||
cardPreference.setSecondaryButtonAction(
|
||||
() -> {
|
||||
resumeCharging(context);
|
||||
preference.setVisible(false);
|
||||
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
cardPreference.setSecondaryButtonVisible(mIsPluggedIn);
|
||||
cardPreference.setSecondaryButtonVisibility(mIsPluggedIn);
|
||||
cardPreference.buildContent();
|
||||
}
|
||||
|
||||
private void resumeCharging(Context context) {
|
||||
|
||||
@@ -16,11 +16,13 @@
|
||||
|
||||
package com.android.settings.fuelgauge.batterytip.tips;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.os.Parcel;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -28,6 +30,8 @@ import com.android.settings.widget.CardPreference;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
import kotlin.Unit;
|
||||
|
||||
/** Tip to show incompatible charger state */
|
||||
public final class IncompatibleChargerTip extends BatteryTip {
|
||||
private static final String TAG = "IncompatibleChargerTip";
|
||||
@@ -77,18 +81,27 @@ public final class IncompatibleChargerTip extends BatteryTip {
|
||||
}
|
||||
|
||||
cardPreference.setSelectable(false);
|
||||
cardPreference.setIconResId(getIconId());
|
||||
cardPreference.setPrimaryButtonText(context.getString(R.string.learn_more));
|
||||
cardPreference.setPrimaryButtonClickListener(
|
||||
button ->
|
||||
button.startActivityForResult(
|
||||
HelpUtils.getHelpIntent(
|
||||
context,
|
||||
context.getString(R.string.help_url_incompatible_charging),
|
||||
/* backupContext */ ""), /* requestCode */
|
||||
0));
|
||||
cardPreference.setPrimaryButtonVisible(true);
|
||||
cardPreference.setPrimaryButtonAction(
|
||||
() -> {
|
||||
var helpIntent =
|
||||
HelpUtils.getHelpIntent(
|
||||
context,
|
||||
context.getString(R.string.help_url_incompatible_charging),
|
||||
/* backupContext */ "");
|
||||
ActivityCompat.startActivityForResult(
|
||||
(Activity) context,
|
||||
helpIntent,
|
||||
/* requestCode= */ 0,
|
||||
/* options= */ null);
|
||||
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
cardPreference.setPrimaryButtonVisibility(true);
|
||||
cardPreference.setPrimaryButtonContentDescription(
|
||||
context.getString(R.string.battery_tip_incompatible_charging_content_description));
|
||||
cardPreference.buildContent();
|
||||
}
|
||||
|
||||
public static final Creator CREATOR =
|
||||
|
||||
Reference in New Issue
Block a user