Merge "Misc fixes to improve search" into pi-dev
diff --git a/src/com/android/settings/fuelgauge/batterytip/AppInfo.java b/src/com/android/settings/fuelgauge/batterytip/AppInfo.java
index 00faa7c..9557d9a 100644
--- a/src/com/android/settings/fuelgauge/batterytip/AppInfo.java
+++ b/src/com/android/settings/fuelgauge/batterytip/AppInfo.java
@@ -68,6 +68,12 @@
         dest.writeInt(uid);
     }
 
+    @Override
+    public String toString() {
+        return "packageName=" + packageName + ",anomalyType=" + anomalyType + ",screenTime="
+                + screenOnTimeMs;
+    }
+
     public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
         public AppInfo createFromParcel(Parcel in) {
             return new AppInfo(in);
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
index 3257d94..f252638 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
@@ -158,4 +158,9 @@
     public int compareTo(BatteryTip o) {
         return TIP_ORDER.get(mType) - TIP_ORDER.get(o.mType);
     }
+
+    @Override
+    public String toString() {
+        return "type=" + mType + " state=" + mState;
+    }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java
index 6091131..475ea56 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java
@@ -86,6 +86,19 @@
         return mHighUsageAppList;
     }
 
+    @Override
+    public String toString() {
+        final StringBuilder stringBuilder = new StringBuilder(super.toString());
+        stringBuilder.append(" {");
+        for (int i = 0, size = mHighUsageAppList.size(); i < size; i++) {
+            final AppInfo appInfo = mHighUsageAppList.get(i);
+            stringBuilder.append(" " + appInfo.toString() + " ");
+        }
+        stringBuilder.append('}');
+
+        return stringBuilder.toString();
+    }
+
     public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
         public BatteryTip createFromParcel(Parcel in) {
             return new HighUsageTip(in);
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
index 4d286be..037457a 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
@@ -98,6 +98,19 @@
     }
 
     @Override
+    public String toString() {
+        final StringBuilder stringBuilder = new StringBuilder(super.toString());
+        stringBuilder.append(" {");
+        for (int i = 0, size = mRestrictAppList.size(); i < size; i++) {
+            final AppInfo appInfo = mRestrictAppList.get(i);
+            stringBuilder.append(" " + appInfo.toString() + " ");
+        }
+        stringBuilder.append('}');
+
+        return stringBuilder.toString();
+    }
+
+    @Override
     public void writeToParcel(Parcel dest, int flags) {
         super.writeToParcel(dest, flags);
         dest.writeTypedList(mRestrictAppList);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
index 85c8ffc..753fc48 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
@@ -52,7 +52,7 @@
     }
 
     @Test
-    public void testBuildPreference() {
+    public void buildPreference() {
         final Preference preference = mBatteryTip.buildPreference(mContext);
 
         assertThat(preference.getTitle()).isEqualTo(TITLE);
@@ -61,7 +61,7 @@
     }
 
     @Test
-    public void testParcelable() {
+    public void parcelable() {
         final BatteryTip batteryTip = new TestBatteryTip();
 
         Parcel parcel = Parcel.obtain();
@@ -76,7 +76,7 @@
     }
 
     @Test
-    public void testTipOrder_orderUnique() {
+    public void tipOrder_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));
@@ -85,6 +85,11 @@
         assertThat(orders).containsNoDuplicates();
     }
 
+    @Test
+    public void toString_containBatteryTipData() {
+        assertThat(mBatteryTip.toString()).isEqualTo("type=6 state=0");
+    }
+
     /**
      * Used to test the non abstract methods in {@link TestBatteryTip}
      */
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
index db2f37e..af32dc5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
@@ -73,4 +73,10 @@
         assertThat(app.packageName).isEqualTo(PACKAGE_NAME);
         assertThat(app.screenOnTimeMs).isEqualTo(SCREEN_TIME);
     }
+
+    @Test
+    public void toString_containsAppData() {
+        assertThat(mBatteryTip.toString()).isEqualTo(
+                "type=2 state=0 { packageName=com.android.app,anomalyType=0,screenTime=1800000 }");
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
index 20b896f..3298ea8 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
@@ -71,7 +71,7 @@
     }
 
     @Test
-    public void testParcelable() {
+    public void parcelable() {
         Parcel parcel = Parcel.obtain();
         mNewBatteryTip.writeToParcel(parcel, mNewBatteryTip.describeContents());
         parcel.setDataPosition(0);
@@ -85,40 +85,46 @@
     }
 
     @Test
-    public void testGetTitle_stateNew_showRestrictTitle() {
+    public void getTitle_stateNew_showRestrictTitle() {
         assertThat(mNewBatteryTip.getTitle(mContext)).isEqualTo("Restrict 1 app");
     }
 
     @Test
-    public void testGetTitle_stateHandled_showHandledTitle() {
+    public void getTitle_stateHandled_showHandledTitle() {
         assertThat(mHandledBatteryTip.getTitle(mContext)).isEqualTo("1 recently restricted");
     }
 
     @Test
-    public void testGetSummary_stateNew_showRestrictSummary() {
+    public void getSummary_stateNew_showRestrictSummary() {
         assertThat(mNewBatteryTip.getSummary(mContext))
             .isEqualTo("app has high battery usage");
     }
 
     @Test
-    public void testGetSummary_stateHandled_showHandledSummary() {
+    public void getSummary_stateHandled_showHandledSummary() {
         assertThat(mHandledBatteryTip.getSummary(mContext))
             .isEqualTo("App changes are in progress");
     }
 
     @Test
-    public void testUpdate_anomalyBecomeInvisible_stateHandled() {
+    public void update_anomalyBecomeInvisible_stateHandled() {
         mNewBatteryTip.updateState(mInvisibleBatteryTip);
 
         assertThat(mNewBatteryTip.getState()).isEqualTo(BatteryTip.StateType.HANDLED);
     }
 
     @Test
-    public void testUpdate_newAnomalyComes_stateNew() {
+    public void update_newAnomalyComes_stateNew() {
         mInvisibleBatteryTip.updateState(mNewBatteryTip);
         assertThat(mInvisibleBatteryTip.getState()).isEqualTo(BatteryTip.StateType.NEW);
 
         mHandledBatteryTip.updateState(mNewBatteryTip);
         assertThat(mHandledBatteryTip.getState()).isEqualTo(BatteryTip.StateType.NEW);
     }
+
+    @Test
+    public void toString_containsAppData() {
+        assertThat(mNewBatteryTip.toString()).isEqualTo(
+                "type=1 state=0 { packageName=com.android.app,anomalyType=0,screenTime=0 }");
+    }
 }