Loading res/layout/battery_tips_card.xml +1 −3 Original line number Diff line number Diff line Loading @@ -49,8 +49,7 @@ android:layout_marginEnd="8dp" android:text="@string/battery_tips_card_dismiss_button" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="?android:attr/colorAccent" android:textStyle="bold" /> android:textColor="?android:attr/textColorPrimary" /> <com.google.android.material.button.MaterialButton android:id="@+id/main_button" Loading @@ -62,7 +61,6 @@ android:text="@string/battery_tips_card_action_button" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="?android:attr/textColorPrimary" android:textStyle="bold" app:strokeColor="?android:attr/colorAccent" app:strokeWidth="1dp" /> </LinearLayout> Loading src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java +13 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.fuelgauge.batteryusage; import android.app.settings.SettingsEnums; import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; Loading @@ -30,6 +31,7 @@ import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.core.SubSettingLauncher; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.overlay.FeatureFactory; Loading @@ -56,6 +58,8 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic @VisibleForTesting String mDestinationComponentName; @VisibleForTesting String mPreferenceHighlightKey; @VisibleForTesting Integer mSourceMetricsCategory; public BatteryTipsCardPreference(Context context, AttributeSet attrs) { Loading Loading @@ -98,9 +102,10 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic * Sets the info of target fragment launched by main button. */ public void setMainButtonLauncherInfo(final String destinationClassName, final Integer sourceMetricsCategory) { final Integer sourceMetricsCategory, final String highlightKey) { mDestinationComponentName = destinationClassName; mSourceMetricsCategory = sourceMetricsCategory; mPreferenceHighlightKey = highlightKey; } @Override Loading @@ -110,9 +115,16 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic if (TextUtils.isEmpty(mDestinationComponentName)) { return; } Bundle arguments = Bundle.EMPTY; if (!TextUtils.isEmpty(mPreferenceHighlightKey)) { arguments = new Bundle(1); arguments.putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, mPreferenceHighlightKey); } new SubSettingLauncher(getContext()) .setDestination(mDestinationComponentName) .setSourceMetricsCategory(mSourceMetricsCategory) .setArguments(arguments) .launch(); setVisible(false); mMetricsFeatureProvider.action( Loading src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java +9 −9 Original line number Diff line number Diff line Loading @@ -69,9 +69,9 @@ public class BatteryTipsController extends BasePreferenceController { private <T> T getInfo(PowerAnomalyEvent powerAnomalyEvent, Function<WarningBannerInfo, T> warningBannerInfoSupplier, Function<WarningItemInfo, T> warningItemInfoSupplier) { if (powerAnomalyEvent.hasWarningBannerInfo() && warningBannerInfoSupplier != null) { if (warningBannerInfoSupplier != null && powerAnomalyEvent.hasWarningBannerInfo()) { return warningBannerInfoSupplier.apply(powerAnomalyEvent.getWarningBannerInfo()); } else if (powerAnomalyEvent.hasWarningItemInfo() && warningItemInfoSupplier != null) { } else if (warningItemInfoSupplier != null && powerAnomalyEvent.hasWarningItemInfo()) { return warningItemInfoSupplier.apply(powerAnomalyEvent.getWarningItemInfo()); } return null; Loading Loading @@ -125,20 +125,20 @@ public class BatteryTipsController extends BasePreferenceController { WarningBannerInfo::getCancelButtonString, WarningItemInfo::getCancelButtonString, R.array.power_anomaly_dismiss_btn_strings, resourceIndex); String destinationClassName = getString(powerAnomalyEvent, WarningBannerInfo::getMainButtonDestination, WarningItemInfo::getMainButtonDestination, -1, -1); String destinationClassName = getInfo(powerAnomalyEvent, WarningBannerInfo::getMainButtonDestination, null); Integer sourceMetricsCategory = getInfo(powerAnomalyEvent, WarningBannerInfo::getMainButtonSourceMetricsCategory, WarningItemInfo::getMainButtonSourceMetricsCategory); WarningBannerInfo::getMainButtonSourceMetricsCategory, null); String preferenceHighlightKey = getInfo(powerAnomalyEvent, WarningBannerInfo::getMainButtonSourceHighlightKey, null); // Updated card preference and main button fragment launcher mCardPreference.setAnomalyEventId(powerAnomalyEvent.getEventId()); mCardPreference.setTitle(titleString); mCardPreference.setMainButtonLabel(mainBtnString); mCardPreference.setDismissButtonLabel(dismissBtnString); mCardPreference.setMainButtonLauncherInfo(destinationClassName, sourceMetricsCategory); mCardPreference.setMainButtonLauncherInfo( destinationClassName, sourceMetricsCategory, preferenceHighlightKey); mCardPreference.setVisible(true); mMetricsFeatureProvider.action(mContext, Loading src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto +4 −6 Original line number Diff line number Diff line Loading @@ -47,7 +47,9 @@ message WarningBannerInfo { optional string main_button_destination = 4; // Used in the SubSettingLauncher.setSourceMetricsCategory(). optional int32 main_button_source_metrics_category = 5; optional string cancel_button_string = 6; // Used in the SubSettingLauncher.setArguments(). optional string main_button_source_highlight_key = 6; optional string cancel_button_string = 7; } message WarningItemInfo { Loading @@ -57,9 +59,5 @@ message WarningItemInfo { optional string title_string = 4; optional string description_string = 5; optional string main_button_string = 6; // Used in the SubSettingLauncher.setDestination(). optional string main_button_destination = 7; // Used in the SubSettingLauncher.setSourceMetricsCategory(). optional int32 main_button_source_metrics_category = 8; optional string cancel_button_string = 9; optional string cancel_button_string = 7; } src/com/android/settings/widget/RadioButtonPickerFragment.java +5 −2 Original line number Diff line number Diff line Loading @@ -33,8 +33,8 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; import com.android.settings.core.InstrumentedPreferenceFragment; import com.android.settings.core.PreferenceXmlParserUtils; import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag; import com.android.settingslib.widget.CandidateInfo; Loading @@ -46,7 +46,10 @@ import java.io.IOException; import java.util.List; import java.util.Map; public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFragment implements /** * A fragment to handle general radio button picker */ public abstract class RadioButtonPickerFragment extends SettingsPreferenceFragment implements SelectorWithWidgetPreference.OnClickListener { @VisibleForTesting Loading Loading
res/layout/battery_tips_card.xml +1 −3 Original line number Diff line number Diff line Loading @@ -49,8 +49,7 @@ android:layout_marginEnd="8dp" android:text="@string/battery_tips_card_dismiss_button" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="?android:attr/colorAccent" android:textStyle="bold" /> android:textColor="?android:attr/textColorPrimary" /> <com.google.android.material.button.MaterialButton android:id="@+id/main_button" Loading @@ -62,7 +61,6 @@ android:text="@string/battery_tips_card_action_button" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="?android:attr/textColorPrimary" android:textStyle="bold" app:strokeColor="?android:attr/colorAccent" app:strokeWidth="1dp" /> </LinearLayout> Loading
src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java +13 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.fuelgauge.batteryusage; import android.app.settings.SettingsEnums; import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; Loading @@ -30,6 +31,7 @@ import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.core.SubSettingLauncher; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.overlay.FeatureFactory; Loading @@ -56,6 +58,8 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic @VisibleForTesting String mDestinationComponentName; @VisibleForTesting String mPreferenceHighlightKey; @VisibleForTesting Integer mSourceMetricsCategory; public BatteryTipsCardPreference(Context context, AttributeSet attrs) { Loading Loading @@ -98,9 +102,10 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic * Sets the info of target fragment launched by main button. */ public void setMainButtonLauncherInfo(final String destinationClassName, final Integer sourceMetricsCategory) { final Integer sourceMetricsCategory, final String highlightKey) { mDestinationComponentName = destinationClassName; mSourceMetricsCategory = sourceMetricsCategory; mPreferenceHighlightKey = highlightKey; } @Override Loading @@ -110,9 +115,16 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic if (TextUtils.isEmpty(mDestinationComponentName)) { return; } Bundle arguments = Bundle.EMPTY; if (!TextUtils.isEmpty(mPreferenceHighlightKey)) { arguments = new Bundle(1); arguments.putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, mPreferenceHighlightKey); } new SubSettingLauncher(getContext()) .setDestination(mDestinationComponentName) .setSourceMetricsCategory(mSourceMetricsCategory) .setArguments(arguments) .launch(); setVisible(false); mMetricsFeatureProvider.action( Loading
src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java +9 −9 Original line number Diff line number Diff line Loading @@ -69,9 +69,9 @@ public class BatteryTipsController extends BasePreferenceController { private <T> T getInfo(PowerAnomalyEvent powerAnomalyEvent, Function<WarningBannerInfo, T> warningBannerInfoSupplier, Function<WarningItemInfo, T> warningItemInfoSupplier) { if (powerAnomalyEvent.hasWarningBannerInfo() && warningBannerInfoSupplier != null) { if (warningBannerInfoSupplier != null && powerAnomalyEvent.hasWarningBannerInfo()) { return warningBannerInfoSupplier.apply(powerAnomalyEvent.getWarningBannerInfo()); } else if (powerAnomalyEvent.hasWarningItemInfo() && warningItemInfoSupplier != null) { } else if (warningItemInfoSupplier != null && powerAnomalyEvent.hasWarningItemInfo()) { return warningItemInfoSupplier.apply(powerAnomalyEvent.getWarningItemInfo()); } return null; Loading Loading @@ -125,20 +125,20 @@ public class BatteryTipsController extends BasePreferenceController { WarningBannerInfo::getCancelButtonString, WarningItemInfo::getCancelButtonString, R.array.power_anomaly_dismiss_btn_strings, resourceIndex); String destinationClassName = getString(powerAnomalyEvent, WarningBannerInfo::getMainButtonDestination, WarningItemInfo::getMainButtonDestination, -1, -1); String destinationClassName = getInfo(powerAnomalyEvent, WarningBannerInfo::getMainButtonDestination, null); Integer sourceMetricsCategory = getInfo(powerAnomalyEvent, WarningBannerInfo::getMainButtonSourceMetricsCategory, WarningItemInfo::getMainButtonSourceMetricsCategory); WarningBannerInfo::getMainButtonSourceMetricsCategory, null); String preferenceHighlightKey = getInfo(powerAnomalyEvent, WarningBannerInfo::getMainButtonSourceHighlightKey, null); // Updated card preference and main button fragment launcher mCardPreference.setAnomalyEventId(powerAnomalyEvent.getEventId()); mCardPreference.setTitle(titleString); mCardPreference.setMainButtonLabel(mainBtnString); mCardPreference.setDismissButtonLabel(dismissBtnString); mCardPreference.setMainButtonLauncherInfo(destinationClassName, sourceMetricsCategory); mCardPreference.setMainButtonLauncherInfo( destinationClassName, sourceMetricsCategory, preferenceHighlightKey); mCardPreference.setVisible(true); mMetricsFeatureProvider.action(mContext, Loading
src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto +4 −6 Original line number Diff line number Diff line Loading @@ -47,7 +47,9 @@ message WarningBannerInfo { optional string main_button_destination = 4; // Used in the SubSettingLauncher.setSourceMetricsCategory(). optional int32 main_button_source_metrics_category = 5; optional string cancel_button_string = 6; // Used in the SubSettingLauncher.setArguments(). optional string main_button_source_highlight_key = 6; optional string cancel_button_string = 7; } message WarningItemInfo { Loading @@ -57,9 +59,5 @@ message WarningItemInfo { optional string title_string = 4; optional string description_string = 5; optional string main_button_string = 6; // Used in the SubSettingLauncher.setDestination(). optional string main_button_destination = 7; // Used in the SubSettingLauncher.setSourceMetricsCategory(). optional int32 main_button_source_metrics_category = 8; optional string cancel_button_string = 9; optional string cancel_button_string = 7; }
src/com/android/settings/widget/RadioButtonPickerFragment.java +5 −2 Original line number Diff line number Diff line Loading @@ -33,8 +33,8 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; import com.android.settings.core.InstrumentedPreferenceFragment; import com.android.settings.core.PreferenceXmlParserUtils; import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag; import com.android.settingslib.widget.CandidateInfo; Loading @@ -46,7 +46,10 @@ import java.io.IOException; import java.util.List; import java.util.Map; public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFragment implements /** * A fragment to handle general radio button picker */ public abstract class RadioButtonPickerFragment extends SettingsPreferenceFragment implements SelectorWithWidgetPreference.OnClickListener { @VisibleForTesting Loading