Keep selected time slot and expand state when device is rotate

Bug: 187772493
Test: make SettingsRoboTests
Change-Id: If70abf06825a88f0ad0add37ef8d4f46a0aad1e9
This commit is contained in:
ykhung
2021-05-12 00:24:15 +08:00
committed by YUKAI HUNG
parent 2853e766f5
commit 9ef9e1ee0c
2 changed files with 59 additions and 7 deletions

View File

@@ -30,6 +30,7 @@ import android.content.Context;
import android.content.ContentValues;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.format.DateUtils;
import androidx.preference.Preference;
@@ -559,6 +560,27 @@ public final class BatteryChartPreferenceControllerTest {
.setTimestamps(any());
}
@Test
public void testOnSaveInstanceState_restoreSelectedIndexAndExpandState() {
final int expectedIndex = 1;
final boolean isExpanded = true;
final Bundle bundle = new Bundle();
mBatteryChartPreferenceController.mTrapezoidIndex = expectedIndex;
mBatteryChartPreferenceController.mIsExpanded = isExpanded;
mBatteryChartPreferenceController.onSaveInstanceState(bundle);
// Replaces the original controller with other values.
mBatteryChartPreferenceController.mTrapezoidIndex = -1;
mBatteryChartPreferenceController.mIsExpanded = false;
mBatteryChartPreferenceController.onCreate(bundle);
mBatteryChartPreferenceController.setBatteryHistoryMap(
createBatteryHistoryMap());
assertThat(mBatteryChartPreferenceController.mTrapezoidIndex)
.isEqualTo(expectedIndex);
assertThat(mBatteryChartPreferenceController.mIsExpanded).isTrue();
}
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++) {