Merge "Update defend tips card" into tm-qpr-dev am: 8bf872331b

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19764101

Change-Id: I6c4d4d551dc4ccd1897422cd65bf26cadeb9994c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
YK Hung
2022-09-02 15:46:17 +00:00
committed by Automerger Merge Worker
8 changed files with 44 additions and 14 deletions

View File

@@ -29,7 +29,6 @@ import androidx.annotation.NonNull;
import com.android.internal.util.CollectionUtils;
import com.android.settings.SettingsActivity;
import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.fuelgauge.batterytip.actions.BatteryDefenderAction;
import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction;
import com.android.settings.fuelgauge.batterytip.actions.OpenBatterySaverAction;
import com.android.settings.fuelgauge.batterytip.actions.OpenRestrictAppFragmentAction;
@@ -107,8 +106,6 @@ public class BatteryTipUtils {
}
case BatteryTip.TipType.REMOVE_APP_RESTRICTION:
return new UnrestrictAppAction(settingsActivity, (UnrestrictAppTip) batteryTip);
case BatteryTip.TipType.BATTERY_DEFENDER:
return new BatteryDefenderAction(settingsActivity);
default:
return null;
}

View File

@@ -29,6 +29,7 @@ import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.CardPreference;
import com.android.settingslib.HelpUtils;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import java.text.NumberFormat;
@@ -48,6 +49,7 @@ public class BatteryDefenderTip extends BatteryTip {
public BatteryDefenderTip(@StateType int state, boolean extraDefend) {
super(TipType.BATTERY_DEFENDER, state, true /* showDialog */);
mExtraDefend = extraDefend;
mShowDialog = false;
}
private BatteryDefenderTip(Parcel in) {
@@ -99,6 +101,7 @@ public class BatteryDefenderTip extends BatteryTip {
return;
}
cardPreference.setSelectable(false);
cardPreference.setPrimaryButtonText(
context.getString(R.string.battery_tip_charge_to_full_button));
cardPreference.setPrimaryButtonClickListener(
@@ -109,8 +112,15 @@ public class BatteryDefenderTip extends BatteryTip {
cardPreference.setPrimaryButtonVisible(isPluggedIn(context));
cardPreference.setSecondaryButtonText(context.getString(R.string.learn_more));
cardPreference.setSecondaryButtonClickListener(unused -> cardPreference.performClick());
cardPreference.setSecondaryButtonClickListener(
button -> button.startActivityForResult(
HelpUtils.getHelpIntent(
context,
context.getString(R.string.help_url_battery_defender),
/* backupContext */ ""), /* requestCode */ 0));
cardPreference.setSecondaryButtonVisible(true);
cardPreference.setSecondaryButtonContentDescription(context.getString(
R.string.battery_tip_limited_temporarily_sec_button_content_description));
}
private CardPreference castToCardPreferenceSafely(Preference preference) {

View File

@@ -140,6 +140,15 @@ public class CardPreference extends Preference {
updateButtonGroupsVisibility();
}
/**
* Sets the text of content description on secondary button.
*
* @param text text for the content description
*/
public void setSecondaryButtonContentDescription(String text) {
mSecondaryButton.ifPresent(button -> button.setContentDescription(text));
}
private void updateButtonGroupsVisibility() {
int visibility =
(mPrimaryButtonVisible || mSecondaryButtonVisible) ? View.VISIBLE : View.GONE;