diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java index 55bb9b2e83d..0867a012602 100644 --- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java +++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java @@ -16,14 +16,13 @@ package com.android.settings.fuelgauge.batterytip.tips; -import android.annotation.Nullable; import android.content.Context; import android.content.res.ColorStateList; import android.os.Parcel; import android.os.Parcelable; import android.util.SparseIntArray; +import android.view.View; -import androidx.annotation.ColorInt; import androidx.annotation.IdRes; import androidx.annotation.IntDef; import androidx.annotation.VisibleForTesting; @@ -154,15 +153,15 @@ public abstract class BatteryTip implements Comparable, Parcelable { preference.setTitle(getTitle(context)); preference.setSummary(getSummary(context)); preference.setIcon(getIconId()); - ColorStateList tint = getIconTint(); - if (tint != null) { - preference.getIcon().setTintList(tint); + @IdRes int iconTintColorId = getIconTintColorId(); + if (iconTintColorId != View.NO_ID) { + preference.getIcon().setTint(context.getColor(iconTintColorId)); } } - /** Returns the {@link ColorStateList} for tinting {@link #getIconId()} or null if none. */ - protected @Nullable ColorStateList getIconTint() { - return null; + /** Returns the color resid for tinting {@link #getIconId()} or {@link View#NO_ID} if none. */ + protected @IdRes int getIconTintColorId() { + return View.NO_ID; } public boolean shouldShowDialog() { diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTip.java index fe06507d34a..0c2bb03b975 100644 --- a/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTip.java +++ b/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTip.java @@ -64,10 +64,10 @@ public class EarlyWarningTip extends BatteryTip { } @Override - public ColorStateList getIconTint() { - return ColorStateList.valueOf(mState == StateType.HANDLED + public int getIconTintColorId() { + return mState == StateType.HANDLED ? R.color.battery_maybe_color_light - : R.color.battery_bad_color_light); + : R.color.battery_bad_color_light; } @Override diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/SummaryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/SummaryTip.java index c21df2c02f4..37122d8e821 100644 --- a/src/com/android/settings/fuelgauge/batterytip/tips/SummaryTip.java +++ b/src/com/android/settings/fuelgauge/batterytip/tips/SummaryTip.java @@ -60,8 +60,8 @@ public class SummaryTip extends BatteryTip { } @Override - public ColorStateList getIconTint() { - return ColorStateList.valueOf(R.color.battery_good_color_light); + public int getIconTintColorId() { + return R.color.battery_good_color_light; } @Override diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTipTest.java index 7a447d90534..85b00c84ce9 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTipTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTipTest.java @@ -70,6 +70,7 @@ public class EarlyWarningTipTest { assertThat(tip.getTitle(mContext)).isEqualTo("Turn on Battery Saver"); assertThat(tip.getSummary(mContext)).isEqualTo("Battery may run out earlier than usual"); assertThat(tip.getIconId()).isEqualTo(R.drawable.ic_battery_status_bad_24dp); + assertThat(tip.getIconTintColorId()).isEqualTo(R.color.battery_bad_color_light); } @Test @@ -80,6 +81,7 @@ public class EarlyWarningTipTest { assertThat(tip.getTitle(mContext)).isEqualTo("Battery Saver is on"); assertThat(tip.getSummary(mContext)).isEqualTo("Some features may be limited"); assertThat(tip.getIconId()).isEqualTo(R.drawable.ic_battery_status_maybe_24dp); + assertThat(tip.getIconTintColorId()).isEqualTo(R.color.battery_maybe_color_light); } @Test