Fix battery color tint issue.

Added test to verify fix.

Bug: 128354921
Test: m RunSettingsRoboTests
Change-Id: I24cbb966e549eec783912e4e118c00425b971ad0
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
index 55bb9b2..0867a01 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 @@
         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 fe06507..0c2bb03 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 @@
     }
 
     @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 c21df2c..37122d8 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 @@
     }
 
     @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 7a447d9..85b00c8 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 @@
         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 @@
         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