Adopt new battery history map with interpolation method
Bug: 184807417 Test: make SettingsRoboTests Change-Id: I5c45a443d0a72df352d4bb707412328ad009f6d4
This commit is contained in:
@@ -62,6 +62,8 @@ import java.util.TimeZone;
|
||||
public final class BatteryChartPreferenceControllerTest {
|
||||
private static final String PREF_KEY = "pref_key";
|
||||
private static final String PREF_SUMMARY = "fake preference summary";
|
||||
private static final int DESIRED_HISTORY_SIZE =
|
||||
BatteryChartPreferenceController.DESIRED_HISTORY_SIZE;
|
||||
|
||||
@Mock private InstrumentedPreferenceFragment mFragment;
|
||||
@Mock private SettingsActivity mSettingsActivity;
|
||||
@@ -98,7 +100,7 @@ public final class BatteryChartPreferenceControllerTest {
|
||||
"fakeBatteryDiffEntryKey",
|
||||
new BatteryEntry.NameAndIcon("fakeName", /*icon=*/ null, /*iconId=*/ 1));
|
||||
mBatteryChartPreferenceController.setBatteryHistoryMap(
|
||||
createBatteryHistoryMap(/*size=*/ 5));
|
||||
createBatteryHistoryMap());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -142,19 +144,19 @@ public final class BatteryChartPreferenceControllerTest {
|
||||
@Test
|
||||
public void testSetBatteryHistoryMap_createExpectedKeysAndLevels() {
|
||||
mBatteryChartPreferenceController.setBatteryHistoryMap(
|
||||
createBatteryHistoryMap(/*size=*/ 5));
|
||||
createBatteryHistoryMap());
|
||||
|
||||
// Verifies the created battery keys array.
|
||||
for (int index = 0; index < 25; index++) {
|
||||
for (int index = 0; index < DESIRED_HISTORY_SIZE; index++) {
|
||||
assertThat(mBatteryChartPreferenceController.mBatteryHistoryKeys[index])
|
||||
// These values is are calculated by hand from createBatteryHistoryMap().
|
||||
.isEqualTo(index < 20 ? 0 : (index - 20 + 1));
|
||||
.isEqualTo(index + 1);
|
||||
}
|
||||
// Verifies the created battery levels array.
|
||||
for (int index = 0; index < 13; index++) {
|
||||
assertThat(mBatteryChartPreferenceController.mBatteryHistoryLevels[index])
|
||||
// These values is are calculated by hand from createBatteryHistoryMap().
|
||||
.isEqualTo(index < 10 ? 0 : (100 - (index - 10) * 2));
|
||||
.isEqualTo(100 - index * 2);
|
||||
}
|
||||
assertThat(mBatteryChartPreferenceController.mBatteryIndexedMap).hasSize(13);
|
||||
}
|
||||
@@ -162,10 +164,10 @@ public final class BatteryChartPreferenceControllerTest {
|
||||
@Test
|
||||
public void testSetBatteryHistoryMap_largeSize_createExpectedKeysAndLevels() {
|
||||
mBatteryChartPreferenceController.setBatteryHistoryMap(
|
||||
createBatteryHistoryMap(/*size=*/ 25));
|
||||
createBatteryHistoryMap());
|
||||
|
||||
// Verifies the created battery keys array.
|
||||
for (int index = 0; index < 25; index++) {
|
||||
for (int index = 0; index < DESIRED_HISTORY_SIZE; index++) {
|
||||
assertThat(mBatteryChartPreferenceController.mBatteryHistoryKeys[index])
|
||||
// These values is are calculated by hand from createBatteryHistoryMap().
|
||||
.isEqualTo(index + 1);
|
||||
@@ -214,7 +216,7 @@ public final class BatteryChartPreferenceControllerTest {
|
||||
mBatteryChartPreferenceController.mTrapezoidIndex =
|
||||
BatteryChartView.SELECTED_INDEX_INVALID;
|
||||
mBatteryChartPreferenceController.setBatteryHistoryMap(
|
||||
createBatteryHistoryMap(/*size=*/ 25));
|
||||
createBatteryHistoryMap());
|
||||
|
||||
assertThat(mBatteryChartPreferenceController.mTrapezoidIndex)
|
||||
.isEqualTo(BatteryChartView.SELECTED_INDEX_ALL);
|
||||
@@ -426,31 +428,6 @@ public final class BatteryChartPreferenceControllerTest {
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidateSlotTimestamp_emptyContent_returnTrue() {
|
||||
assertThat(BatteryChartPreferenceController.validateSlotTimestamp(
|
||||
new ArrayList<Long>())).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidateSlotTimestamp_returnExpectedResult() {
|
||||
final ArrayList<Long> slotTimestampList = new ArrayList<Long>(
|
||||
Arrays.asList(
|
||||
Long.valueOf(0),
|
||||
Long.valueOf(DateUtils.HOUR_IN_MILLIS),
|
||||
Long.valueOf(DateUtils.HOUR_IN_MILLIS * 2 + DateUtils.MINUTE_IN_MILLIS),
|
||||
Long.valueOf(DateUtils.HOUR_IN_MILLIS * 3 + DateUtils.MINUTE_IN_MILLIS * 2)));
|
||||
// Verifies the testing data is correct before we added invalid data into it.
|
||||
assertThat(BatteryChartPreferenceController.validateSlotTimestamp(slotTimestampList))
|
||||
.isTrue();
|
||||
|
||||
// Insert invalid timestamp into the list.
|
||||
slotTimestampList.add(
|
||||
Long.valueOf(DateUtils.HOUR_IN_MILLIS * 4 + DateUtils.MINUTE_IN_MILLIS * 6));
|
||||
assertThat(BatteryChartPreferenceController.validateSlotTimestamp(slotTimestampList))
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnExpand_expandedIsTrue_addSystemEntriesToPreferenceGroup() {
|
||||
doReturn(1).when(mAppListGroup).getPreferenceCount();
|
||||
@@ -582,13 +559,15 @@ public final class BatteryChartPreferenceControllerTest {
|
||||
.setTimestamps(any());
|
||||
}
|
||||
|
||||
private static Map<Long, List<BatteryHistEntry>> createBatteryHistoryMap(int size) {
|
||||
final Map<Long, List<BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
|
||||
for (int index = 0; index < size; index++) {
|
||||
private static Map<Long, Map<String, BatteryHistEntry>> createBatteryHistoryMap() {
|
||||
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
|
||||
for (int index = 0; index < DESIRED_HISTORY_SIZE; index++) {
|
||||
final ContentValues values = new ContentValues();
|
||||
values.put("batteryLevel", Integer.valueOf(100 - index));
|
||||
final BatteryHistEntry entry = new BatteryHistEntry(values);
|
||||
batteryHistoryMap.put(Long.valueOf(index + 1), Arrays.asList(entry));
|
||||
final Map<String, BatteryHistEntry> entryMap = new HashMap<>();
|
||||
entryMap.put("fake_entry_key" + index, entry);
|
||||
batteryHistoryMap.put(Long.valueOf(index + 1), entryMap);
|
||||
}
|
||||
return batteryHistoryMap;
|
||||
}
|
||||
|
@@ -23,7 +23,6 @@ import android.content.Context;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -51,7 +50,7 @@ public final class BatteryHistoryLoaderTest {
|
||||
|
||||
@Test
|
||||
public void testLoadIBackground_returnsMapFromPowerFeatureProvider() {
|
||||
final Map<Long, List<BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
|
||||
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
|
||||
doReturn(batteryHistoryMap).when(mFeatureFactory.powerUsageFeatureProvider)
|
||||
.getBatteryHistory(mContext);
|
||||
|
||||
|
@@ -145,35 +145,45 @@ public final class ConvertUtilsTest {
|
||||
// Creates the fake testing data.
|
||||
final int timeSlotSize = 2;
|
||||
final long[] batteryHistoryKeys = new long[] {101L, 102L, 103L, 104L, 105L};
|
||||
final Map<Long, List<BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
|
||||
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
|
||||
new HashMap<>();
|
||||
// Adds the index = 0 data.
|
||||
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
|
||||
BatteryHistEntry entry = createBatteryHistEntry(
|
||||
"package1", "label1", 5.0, 1L, 10L, 20L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[0]), entryMap);
|
||||
// Adds the index = 1 data.
|
||||
batteryHistoryMap.put(
|
||||
Long.valueOf(batteryHistoryKeys[0]),
|
||||
Arrays.asList(
|
||||
createBatteryHistEntry(
|
||||
"package1", "label1", 5.0, 1L, 10L, 20L)));
|
||||
batteryHistoryMap.put(
|
||||
Long.valueOf(batteryHistoryKeys[1]), new ArrayList<BatteryHistEntry>());
|
||||
batteryHistoryMap.put(
|
||||
Long.valueOf(batteryHistoryKeys[2]),
|
||||
Arrays.asList(
|
||||
createBatteryHistEntry(
|
||||
"package2", "label2", 10.0, 2L, 15L, 25L)));
|
||||
batteryHistoryMap.put(
|
||||
Long.valueOf(batteryHistoryKeys[3]),
|
||||
Arrays.asList(
|
||||
createBatteryHistEntry(
|
||||
"package2", "label2", 15.0, 2L, 25L, 35L),
|
||||
createBatteryHistEntry(
|
||||
"package3", "label3", 5.0, 3L, 5L, 5L)));
|
||||
batteryHistoryMap.put(
|
||||
Long.valueOf(batteryHistoryKeys[4]),
|
||||
Arrays.asList(
|
||||
createBatteryHistEntry(
|
||||
"package2", "label2", 30.0, 2L, 30L, 40L),
|
||||
createBatteryHistEntry(
|
||||
"package2", "label2", 75.0, 4L, 40L, 50L),
|
||||
createBatteryHistEntry(
|
||||
"package3", "label3", 5.0, 3L, 5L, 5L)));
|
||||
Long.valueOf(batteryHistoryKeys[1]),
|
||||
new HashMap<String, BatteryHistEntry>());
|
||||
// Adds the index = 2 data.
|
||||
entryMap = new HashMap<>();
|
||||
entry = createBatteryHistEntry(
|
||||
"package2", "label2", 10.0, 2L, 15L, 25L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[2]), entryMap);
|
||||
// Adds the index = 3 data.
|
||||
entryMap = new HashMap<>();
|
||||
entry = createBatteryHistEntry(
|
||||
"package2", "label2", 15.0, 2L, 25L, 35L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
entry = createBatteryHistEntry(
|
||||
"package3", "label3", 5.0, 3L, 5L, 5L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[3]), entryMap);
|
||||
// Adds the index = 4 data.
|
||||
entryMap = new HashMap<>();
|
||||
entry = createBatteryHistEntry(
|
||||
"package2", "label2", 30.0, 2L, 30L, 40L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
entry = createBatteryHistEntry(
|
||||
"package2", "label2", 75.0, 4L, 40L, 50L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
entry = createBatteryHistEntry(
|
||||
"package3", "label3", 5.0, 3L, 5L, 5L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[4]), entryMap);
|
||||
|
||||
final Map<Integer, List<BatteryDiffEntry>> resultMap =
|
||||
ConvertUtils.getIndexedUsageMap(
|
||||
|
Reference in New Issue
Block a user