Support special tethering and removed apps UID in the usage list
There is a special UID for network data tethering usage, we will handle it in a special case to avoid the current rule considering it as an invalid UID case without showing in the usage list. We will disable the click behavior to protect the optimization mode page first. Bug: 227395125 Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER="com.android.settings.fuelgauge" Change-Id: I8d96473d382ebc3253748cce8345d6f2261a233d
This commit is contained in:
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.when;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Process;
|
||||
import android.os.UserManager;
|
||||
import android.text.format.DateUtils;
|
||||
|
||||
@@ -101,13 +102,22 @@ public class BatteryAppListPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetUsageSummary_timeLessThanOneMinute_DoNotSetSummary() {
|
||||
public void testSetUsageSummary_timeLessThanOneMinute_doNotSetSummary() {
|
||||
when(mBatteryEntry.getTimeInForegroundMs()).thenReturn(59 * DateUtils.SECOND_IN_MILLIS);
|
||||
|
||||
mPreferenceController.setUsageSummary(mPreference, mBatteryEntry);
|
||||
assertThat(mPreference.getSummary()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetUsageSummary_systemProcessUid_doNotSetSummary() {
|
||||
when(mBatteryEntry.getTimeInForegroundMs()).thenReturn(DateUtils.MINUTE_IN_MILLIS);
|
||||
when(mBatteryEntry.getUid()).thenReturn(Process.SYSTEM_UID);
|
||||
|
||||
mPreferenceController.setUsageSummary(mPreference, mBatteryEntry);
|
||||
assertThat(mPreference.getSummary()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetUsageSummary_timeMoreThanOneMinute_normalApp_setScreenSummary() {
|
||||
when(mBatteryEntry.getTimeInForegroundMs()).thenReturn(2 * DateUtils.MINUTE_IN_MILLIS);
|
||||
|
@@ -357,6 +357,24 @@ public final class BatteryDiffEntryTest {
|
||||
assertThat(entry.isSystemEntry()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsSystemEntry_uidBatteryWithTetheringProcess_returnTrue() {
|
||||
final BatteryDiffEntry entry =
|
||||
createBatteryDiffEntry(
|
||||
ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
|
||||
/*uid=*/ BatteryUtils.UID_TETHERING, /*isHidden=*/ false);
|
||||
assertThat(entry.isSystemEntry()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsSystemEntry_uidBatteryWithRemovedAppsProcess_returnTrue() {
|
||||
final BatteryDiffEntry entry =
|
||||
createBatteryDiffEntry(
|
||||
ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
|
||||
/*uid=*/ BatteryUtils.UID_REMOVED_APPS, /*isHidden=*/ false);
|
||||
assertThat(entry.isSystemEntry()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateRestrictionFlagState_updateFlagAsExpected() throws Exception {
|
||||
final String expectedAppLabel = "fake app label";
|
||||
|
@@ -278,6 +278,22 @@ public class BatteryEntryTest {
|
||||
assertNameAndIcon("dex2oat", R.string.process_dex2oat_label);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getNameAndIconFromUid_tetheringUid_rerturnExpectedName() {
|
||||
final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
|
||||
mContext, /* name */ null, /* uid */ BatteryUtils.UID_TETHERING);
|
||||
|
||||
assertThat(nameAndIcon.mName).isEqualTo(getString(R.string.process_network_tethering));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getNameAndIconFromUid_removedAppsUid_rerturnExpectedName() {
|
||||
final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
|
||||
mContext, /* name */ null, /* uid */ BatteryUtils.UID_REMOVED_APPS);
|
||||
|
||||
assertThat(nameAndIcon.mName).isEqualTo(getString(R.string.process_removed_apps));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getNameAndIconFromPowerComponent_rerturnExpectedNameAndIcon() {
|
||||
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
|
||||
|
Reference in New Issue
Block a user