Change the order of battery tips

Bug: 72492206
Test: RunSettingsRoboTests
Change-Id: I27b2d5c27fbac2259d9ee483b755ac799dd0de68
This commit is contained in:
jackqdyulei
2018-02-16 14:57:10 -08:00
parent 49c8080a50
commit f8ef23b63e
3 changed files with 34 additions and 5 deletions

View File

@@ -21,7 +21,9 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.support.annotation.IdRes;
import android.support.annotation.IntDef;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.util.SparseIntArray;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -63,6 +65,20 @@ public abstract class BatteryTip implements Comparable<BatteryTip>, Parcelable {
int REMOVE_APP_RESTRICTION = 7;
}
@VisibleForTesting
static final SparseIntArray TIP_ORDER;
static {
TIP_ORDER = new SparseIntArray();
TIP_ORDER.append(TipType.APP_RESTRICTION, 0);
TIP_ORDER.append(TipType.BATTERY_SAVER, 1);
TIP_ORDER.append(TipType.HIGH_DEVICE_USAGE, 2);
TIP_ORDER.append(TipType.SUMMARY, 3);
TIP_ORDER.append(TipType.SMART_BATTERY_MANAGER, 4);
TIP_ORDER.append(TipType.REDUCED_BATTERY, 5);
TIP_ORDER.append(TipType.LOW_BATTERY, 6);
TIP_ORDER.append(TipType.REMOVE_APP_RESTRICTION, 7);
}
private static final String KEY_PREFIX = "key_battery_tip";
protected int mType;
@@ -140,6 +156,6 @@ public abstract class BatteryTip implements Comparable<BatteryTip>, Parcelable {
@Override
public int compareTo(BatteryTip o) {
return mType - o.mType;
return TIP_ORDER.get(mType) - TIP_ORDER.get(o.mType);
}
}

View File

@@ -50,12 +50,12 @@ import java.util.List;
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class BatteryTipLoaderTest {
private static final int[] TIP_ORDER = {
BatteryTip.TipType.SMART_BATTERY_MANAGER,
BatteryTip.TipType.APP_RESTRICTION,
BatteryTip.TipType.HIGH_DEVICE_USAGE,
BatteryTip.TipType.BATTERY_SAVER,
BatteryTip.TipType.LOW_BATTERY,
BatteryTip.TipType.SUMMARY};
BatteryTip.TipType.HIGH_DEVICE_USAGE,
BatteryTip.TipType.SUMMARY,
BatteryTip.TipType.SMART_BATTERY_MANAGER,
BatteryTip.TipType.LOW_BATTERY};
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private BatteryStatsHelper mBatteryStatsHelper;
@Mock

View File

@@ -34,6 +34,9 @@ import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class BatteryTipTest {
@@ -75,6 +78,16 @@ public class BatteryTipTest {
assertThat(parcelTip.getIconId()).isEqualTo(ICON_ID);
}
@Test
public void testTipOrder_orderUnique() {
final List<Integer> orders = new ArrayList<>();
for (int i = 0, size = BatteryTip.TIP_ORDER.size(); i < size; i++) {
orders.add(BatteryTip.TIP_ORDER.valueAt(i));
}
assertThat(orders).containsNoDuplicates();
}
/**
* Used to test the non abstract methods in {@link TestBatteryTip}
*/