Merge "Autogenerate SearchIndexableResources subclass"
diff --git a/res/layout/switch_bar.xml b/res/layout/switch_bar.xml
index 29e125b..a172051 100644
--- a/res/layout/switch_bar.xml
+++ b/res/layout/switch_bar.xml
@@ -29,7 +29,6 @@
android:ellipsize="end"
android:textAppearance="@style/TextAppearance.Switch"
android:textColor="?android:attr/textColorPrimary"
- android:textSize="18sp"
android:textAlignment="viewStart" />
<ImageView
diff --git a/res/values/styles.xml b/res/values/styles.xml
index b3178f5..8ff7300 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -305,7 +305,9 @@
<style name="TextAppearance.Medium" parent="@android:style/TextAppearance.Material.Medium" />
<style name="TextAppearance.Small" parent="@android:style/TextAppearance.Material.Small" />
- <style name="TextAppearance.Switch" parent="@android:style/TextAppearance.Material.Title" />
+ <style name="TextAppearance.Switch" parent="@android:style/TextAppearance.Material.Title">
+ <item name="android:textSize">18sp</item>
+ </style>
<style name="TextAppearance.CategoryTitle" parent="@android:style/TextAppearance.Material.Body2">
<item name="android:textColor">?android:attr/textColorSecondary</item>
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java
index fd150e4..1b6e2f0 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.os.BatteryStats;
import android.support.annotation.VisibleForTesting;
+import android.text.format.DateUtils;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatteryStatsHelper;
@@ -72,18 +73,20 @@
final long foregroundTimeMs = mBatteryUtils.getProcessTimeMs(
BatteryUtils.StatusType.FOREGROUND, batterySipper.uidObj,
BatteryStats.STATS_SINCE_CHARGED);
- mHighUsageAppList.add(new AppInfo.Builder()
- .setUid(batterySipper.getUid())
- .setPackageName(
- mBatteryUtils.getPackageName(batterySipper.getUid()))
- .setScreenOnTimeMs(foregroundTimeMs)
- .build());
+ if (foregroundTimeMs >= DateUtils.MINUTE_IN_MILLIS) {
+ mHighUsageAppList.add(new AppInfo.Builder()
+ .setUid(batterySipper.getUid())
+ .setPackageName(
+ mBatteryUtils.getPackageName(batterySipper.getUid()))
+ .setScreenOnTimeMs(foregroundTimeMs)
+ .build());
+ }
}
}
+ Collections.sort(mHighUsageAppList, Collections.reverseOrder());
mHighUsageAppList = mHighUsageAppList.subList(0,
Math.min(mPolicy.highUsageAppCount, mHighUsageAppList.size()));
- Collections.sort(mHighUsageAppList, Collections.reverseOrder());
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
index 14627c5..d983dfc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
@@ -17,8 +17,10 @@
package com.android.settings.fuelgauge.batterytip.detectors;
import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
@@ -48,7 +50,8 @@
@RunWith(SettingsRobolectricTestRunner.class)
public class HighUsageDetectorTest {
- private static final int UID = 123;
+ private static final int UID_HIGH = 123;
+ private static final int UID_ZERO = 345;
private static final long SCREEN_ON_TIME_MS = DateUtils.HOUR_IN_MILLIS;
private Context mContext;
@Mock
@@ -56,7 +59,9 @@
@Mock
private BatteryUtils mBatteryUtils;
@Mock
- private BatterySipper mBatterySipper;
+ private BatterySipper mHighBatterySipper;
+ @Mock
+ private BatterySipper mZeroBatterySipper;
@Mock
private HighUsageDataParser mDataParser;
@@ -75,14 +80,25 @@
mHighUsageDetector.mBatteryUtils = mBatteryUtils;
mHighUsageDetector.mDataParser = mDataParser;
doNothing().when(mHighUsageDetector).parseBatteryData();
- doReturn(UID).when(mBatterySipper).getUid();
+ doReturn(UID_HIGH).when(mHighBatterySipper).getUid();
+ mHighBatterySipper.uidObj = mock(BatteryStats.Uid.class);
+ mZeroBatterySipper.uidObj = mock(BatteryStats.Uid.class);
+ doReturn(UID_ZERO).when(mZeroBatterySipper).getUid();
mAppInfo = new AppInfo.Builder()
- .setUid(UID)
+ .setUid(UID_HIGH)
.setScreenOnTimeMs(SCREEN_ON_TIME_MS)
.build();
+ doReturn(SCREEN_ON_TIME_MS).when(mBatteryUtils).getProcessTimeMs(
+ BatteryUtils.StatusType.FOREGROUND, mHighBatterySipper.uidObj,
+ BatteryStats.STATS_SINCE_CHARGED);
+ doReturn(0L).when(mBatteryUtils).getProcessTimeMs(
+ BatteryUtils.StatusType.FOREGROUND, mZeroBatterySipper.uidObj,
+ BatteryStats.STATS_SINCE_CHARGED);
+
mUsageList = new ArrayList<>();
- mUsageList.add(mBatterySipper);
+ mUsageList.add(mHighBatterySipper);
+ when(mBatteryStatsHelper.getUsageList()).thenReturn(mUsageList);
}
@Test
@@ -95,10 +111,16 @@
@Test
public void testDetect_containsHighUsageApp_tipVisible() {
doReturn(true).when(mDataParser).isDeviceHeavilyUsed();
- when(mBatteryStatsHelper.getUsageList()).thenReturn(mUsageList);
- doReturn(SCREEN_ON_TIME_MS).when(mBatteryUtils).getProcessTimeMs(
- BatteryUtils.StatusType.FOREGROUND, mBatterySipper.uidObj,
- BatteryStats.STATS_SINCE_CHARGED);
+
+ final HighUsageTip highUsageTip = (HighUsageTip) mHighUsageDetector.detect();
+ assertThat(highUsageTip.isVisible()).isTrue();
+ assertThat(highUsageTip.getHighUsageAppList()).containsExactly(mAppInfo);
+ }
+
+ @Test
+ public void testDetect_containsHighUsageApp_removeZeroOne() {
+ doReturn(true).when(mDataParser).isDeviceHeavilyUsed();
+ mUsageList.add(mZeroBatterySipper);
final HighUsageTip highUsageTip = (HighUsageTip) mHighUsageDetector.detect();
assertThat(highUsageTip.isVisible()).isTrue();