Make BatteryStatsHistoryIterator API compatible with Iterator
Bug: 261622968 Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.google.android.settings.fuelgauge.BatteryInfoTest RELAX_USES_LIBRARY_CHECK=true Change-Id: I4b3cf18e4714017b412485120557eb22d7039118
This commit is contained in:
@@ -375,8 +375,8 @@ public class BatteryInfo {
|
|||||||
boolean first = true;
|
boolean first = true;
|
||||||
final BatteryStatsHistoryIterator iterator1 =
|
final BatteryStatsHistoryIterator iterator1 =
|
||||||
mBatteryUsageStats.iterateBatteryStatsHistory();
|
mBatteryUsageStats.iterateBatteryStatsHistory();
|
||||||
final HistoryItem rec = new HistoryItem();
|
HistoryItem rec;
|
||||||
while (iterator1.next(rec)) {
|
while ((rec = iterator1.next()) != null) {
|
||||||
pos++;
|
pos++;
|
||||||
if (first) {
|
if (first) {
|
||||||
first = false;
|
first = false;
|
||||||
@@ -420,7 +420,7 @@ public class BatteryInfo {
|
|||||||
if (endWalltime > startWalltime) {
|
if (endWalltime > startWalltime) {
|
||||||
final BatteryStatsHistoryIterator iterator2 =
|
final BatteryStatsHistoryIterator iterator2 =
|
||||||
mBatteryUsageStats.iterateBatteryStatsHistory();
|
mBatteryUsageStats.iterateBatteryStatsHistory();
|
||||||
while (iterator2.next(rec) && i < N) {
|
while ((rec = iterator2.next()) != null && i < N) {
|
||||||
if (rec.isDeltaData()) {
|
if (rec.isDeltaData()) {
|
||||||
curWalltime += rec.time - lastRealtime;
|
curWalltime += rec.time - lastRealtime;
|
||||||
lastRealtime = rec.time;
|
lastRealtime = rec.time;
|
||||||
|
@@ -53,8 +53,6 @@ import org.junit.runner.RunWith;
|
|||||||
import org.mockito.ArgumentCaptor;
|
import org.mockito.ArgumentCaptor;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.mockito.invocation.InvocationOnMock;
|
|
||||||
import org.mockito.stubbing.Answer;
|
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
|
||||||
@@ -333,28 +331,23 @@ public class BatteryInfoTest {
|
|||||||
// Mock out new data every time iterateBatteryStatsHistory is called.
|
// Mock out new data every time iterateBatteryStatsHistory is called.
|
||||||
doAnswer(invocation -> {
|
doAnswer(invocation -> {
|
||||||
BatteryStatsHistoryIterator iterator = mock(BatteryStatsHistoryIterator.class);
|
BatteryStatsHistoryIterator iterator = mock(BatteryStatsHistoryIterator.class);
|
||||||
doAnswer(new Answer<Boolean>() {
|
when(iterator.next()).thenReturn(
|
||||||
private int mCount = 0;
|
makeHistoryIterm(1000, 99),
|
||||||
private final long[] mTimes = {1000, 1500, 2000};
|
makeHistoryIterm(1500, 98),
|
||||||
private final byte[] mLevels = {99, 98, 97};
|
makeHistoryIterm(2000, 97),
|
||||||
|
null);
|
||||||
@Override
|
|
||||||
public Boolean answer(InvocationOnMock invocation) throws Throwable {
|
|
||||||
if (mCount == mTimes.length) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
BatteryStats.HistoryItem record = invocation.getArgument(0);
|
|
||||||
record.cmd = BatteryStats.HistoryItem.CMD_UPDATE;
|
|
||||||
record.time = mTimes[mCount];
|
|
||||||
record.batteryLevel = mLevels[mCount];
|
|
||||||
mCount++;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}).when(iterator).next(any(BatteryStats.HistoryItem.class));
|
|
||||||
return iterator;
|
return iterator;
|
||||||
}).when(mBatteryUsageStats).iterateBatteryStatsHistory();
|
}).when(mBatteryUsageStats).iterateBatteryStatsHistory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BatteryStats.HistoryItem makeHistoryIterm(long time, int batteryLevel) {
|
||||||
|
BatteryStats.HistoryItem record = new BatteryStats.HistoryItem();
|
||||||
|
record.cmd = BatteryStats.HistoryItem.CMD_UPDATE;
|
||||||
|
record.time = time;
|
||||||
|
record.batteryLevel = (byte) batteryLevel;
|
||||||
|
return record;
|
||||||
|
}
|
||||||
|
|
||||||
private void assertOnlyHistory(BatteryInfo info) {
|
private void assertOnlyHistory(BatteryInfo info) {
|
||||||
mockBatteryStatsHistory();
|
mockBatteryStatsHistory();
|
||||||
UsageView view = mock(UsageView.class);
|
UsageView view = mock(UsageView.class);
|
||||||
|
Reference in New Issue
Block a user