Merge "Fix crash in Monkey test." into pi-dev
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
index 69fc0f1..249bf9b 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
@@ -91,6 +91,9 @@
     }
 
     public void updateBatteryTips(List<BatteryTip> batteryTips) {
+        if (batteryTips == null) {
+            return;
+        }
         if (mBatteryTips == null) {
             mBatteryTips = batteryTips;
         } else {
@@ -100,7 +103,6 @@
             }
         }
 
-        //TODO(b/70570352): try to reuse the existing preference rather than remove and add.
         mPreferenceGroup.removeAll();
         for (int i = 0, size = batteryTips.size(); i < size; i++) {
             final BatteryTip batteryTip = mBatteryTips.get(i);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
index 8a189e2..90d00fc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
@@ -150,6 +150,19 @@
     }
 
     @Test
+    public void testRestoreFromNull_shouldNotCrash() {
+        final Bundle bundle = new Bundle();
+        // Battery tip list is null at this time
+        mBatteryTipPreferenceController.saveInstanceState(bundle);
+
+        final BatteryTipPreferenceController controller = new BatteryTipPreferenceController(
+                mContext, KEY_PREF, mSettingsActivity, mFragment, mBatteryTipListener);
+
+        // Should not crash
+        controller.restoreInstanceState(bundle);
+    }
+
+    @Test
     public void testHandlePreferenceTreeClick_noDialog_invokeCallback() {
         when(mBatteryTip.getType()).thenReturn(SMART_BATTERY_MANAGER);
         List<BatteryTip> batteryTips = new ArrayList<>();