Make App info page support new battery entry
- Add new battery entry to app info battery preference, support both legacy and new args, controlled by P/H - Add a method to check is work profile app or not, use owner context to query correct context for feature provider - Add string for new args Bug: 178197718 Test: make RunSettingsRoboTests Change-Id: Ic93142a0c5e2851917cb3e224340a6e3e81fd801
This commit is contained in:
@@ -39,6 +39,7 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.fuelgauge.BatteryDiffEntry;
|
||||
import com.android.settings.fuelgauge.BatteryUtils;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -76,6 +77,8 @@ public class AppBatteryPreferenceControllerTest {
|
||||
private PackageManager mPackageManager;
|
||||
@Mock
|
||||
private LoaderManager mLoaderManager;
|
||||
@Mock
|
||||
private BatteryDiffEntry mBatteryDiffEntry;
|
||||
|
||||
private Context mContext;
|
||||
private AppInfoDashboardFragment mFragment;
|
||||
@@ -134,7 +137,7 @@ public class AppBatteryPreferenceControllerTest {
|
||||
mController.updateBattery();
|
||||
|
||||
assertThat(mBatteryPreference.getSummary())
|
||||
.isEqualTo("No battery use for past 24 hours");
|
||||
.isEqualTo("No battery use since last full charge");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -147,6 +150,29 @@ public class AppBatteryPreferenceControllerTest {
|
||||
|
||||
mController.updateBattery();
|
||||
|
||||
assertThat(mBatteryPreference.getSummary()).isEqualTo("60% use since last full charge");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateBatteryWithDiffEntry_noConsumePower_summaryNo() {
|
||||
mController.displayPreference(mScreen);
|
||||
mController.mIsChartGraphEnabled = true;
|
||||
|
||||
mController.updateBatteryWithDiffEntry();
|
||||
|
||||
assertThat(mBatteryPreference.getSummary()).isEqualTo("No battery use for past 24 hours");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateBatteryWithDiffEntry_withConsumePower_summaryPercent() {
|
||||
mController.displayPreference(mScreen);
|
||||
mController.mIsChartGraphEnabled = true;
|
||||
mBatteryDiffEntry.mConsumePower = 1;
|
||||
mController.mBatteryDiffEntry = mBatteryDiffEntry;
|
||||
when(mBatteryDiffEntry.getPercentOfTotal()).thenReturn(60.0);
|
||||
|
||||
mController.updateBatteryWithDiffEntry();
|
||||
|
||||
assertThat(mBatteryPreference.getSummary()).isEqualTo("60% use for past 24 hours");
|
||||
}
|
||||
|
||||
|
@@ -611,7 +611,7 @@ public class AdvancedPowerUsageDetailTest {
|
||||
@Test
|
||||
public void testStartBatteryDetailPage_hasBasicData() {
|
||||
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
|
||||
mBatteryEntry, USAGE_PERCENT);
|
||||
mBatteryEntry, USAGE_PERCENT, /*isValidToShowSummary=*/ true);
|
||||
|
||||
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
|
||||
assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME))
|
||||
@@ -622,12 +622,26 @@ public class AdvancedPowerUsageDetailTest {
|
||||
.isEqualTo(USAGE_PERCENT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStartBatteryDetailPage_invalidToShowSummary_noFGBDData() {
|
||||
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
|
||||
mBatteryEntry, USAGE_PERCENT, /*isValidToShowSummary=*/ false);
|
||||
|
||||
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
|
||||
assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME))
|
||||
.isEqualTo(0);
|
||||
assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME))
|
||||
.isEqualTo(0);
|
||||
assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
|
||||
.isEqualTo(USAGE_PERCENT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStartBatteryDetailPage_NormalApp() {
|
||||
when(mBatteryEntry.getDefaultPackageName()).thenReturn(PACKAGE_NAME[0]);
|
||||
|
||||
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
|
||||
mBatteryEntry, USAGE_PERCENT);
|
||||
mBatteryEntry, USAGE_PERCENT, /*isValidToShowSummary=*/ true);
|
||||
|
||||
assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME)).isEqualTo(
|
||||
PACKAGE_NAME[0]);
|
||||
@@ -638,7 +652,7 @@ public class AdvancedPowerUsageDetailTest {
|
||||
when(mBatteryEntry.getDefaultPackageName()).thenReturn(null);
|
||||
|
||||
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
|
||||
mBatteryEntry, USAGE_PERCENT);
|
||||
mBatteryEntry, USAGE_PERCENT, /*isValidToShowSummary=*/ true);
|
||||
|
||||
assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_LABEL)).isEqualTo(APP_LABEL);
|
||||
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_ICON_ID)).isEqualTo(ICON_ID);
|
||||
@@ -651,7 +665,7 @@ public class AdvancedPowerUsageDetailTest {
|
||||
doReturn(appUid).when(mBatteryEntry).getUid();
|
||||
|
||||
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
|
||||
mBatteryEntry, USAGE_PERCENT);
|
||||
mBatteryEntry, USAGE_PERCENT, /*isValidToShowSummary=*/ true);
|
||||
|
||||
verify(mActivity).startActivityAsUser(any(Intent.class), eq(new UserHandle(10)));
|
||||
}
|
||||
@@ -663,7 +677,7 @@ public class AdvancedPowerUsageDetailTest {
|
||||
final int currentUser = 20;
|
||||
ShadowActivityManager.setCurrentUser(currentUser);
|
||||
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
|
||||
mBatteryEntry, USAGE_PERCENT);
|
||||
mBatteryEntry, USAGE_PERCENT, /*isValidToShowSummary=*/ true);
|
||||
|
||||
verify(mActivity).startActivityAsUser(any(Intent.class), eq(new UserHandle(currentUser)));
|
||||
}
|
||||
|
Reference in New Issue
Block a user