The BatteryEntry need a background thread to update the
package name and icon. However in InstalledAppDetails we
don't have this thread and it is unnecessary because we
already has the package name.
This cl:
1. Use the mPackageName from InstalledAppDetails directly in
BatteryEntry
2. Double check the defaultPackageName in AdvancedPowerUsageDetail,
use packageName from sipper if default is null
Bug:
64127162
Test: RunSettingsRoboTests
Change-Id: I5d21afca17f177817976758c28ed86b3a10e95eb
Merged-In: I5d21afca17f177817976758c28ed86b3a10e95eb
} else if (preference == mBatteryPreference) {
if (isBatteryStatsAvailable()) {
BatteryEntry entry = new BatteryEntry(getContext(), null, mUserManager, mSipper);
+ entry.defaultPackageName = mPackageName;
AdvancedPowerUsageDetail.startBatteryDetailPage((SettingsActivity) getActivity(),
this, mBatteryHelper, BatteryStats.STATS_SINCE_CHARGED, entry,
mBatteryPercent, null /* mAnomalies */);
args.putString(EXTRA_PACKAGE_NAME, null);
} else {
// populate data for normal app
- args.putString(EXTRA_PACKAGE_NAME, entry.defaultPackageName);
+ args.putString(EXTRA_PACKAGE_NAME, entry.defaultPackageName != null
+ ? entry.defaultPackageName
+ : sipper.mPackages[0]);
}
args.putInt(EXTRA_UID, sipper.getUid());
mAnomalies = getArguments().getParcelableArrayList(EXTRA_ANOMALY_LIST);
if (mAnomalies == null) {
getLoaderManager().initLoader(ANOMALY_LOADER, Bundle.EMPTY, this);
- } else if (mAnomalies != null){
+ } else if (mAnomalies != null) {
mAnomalySummaryPreferenceController.updateAnomalySummaryPreference(mAnomalies);
}
}
}
@Test
+ public void testStartBatteryDetailPage_defaultPackageNull_choseFromBatterySipper() {
+ mBatteryEntry.defaultPackageName = null;
+ mBatteryEntry.sipper.mPackages = PACKAGE_NAME;
+
+ AdvancedPowerUsageDetail.startBatteryDetailPage(mTestActivity, null, mBatteryStatsHelper, 0,
+ mBatteryEntry, USAGE_PERCENT, null);
+
+ assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME)).isEqualTo(
+ PACKAGE_NAME[0]);
+ }
+
+ @Test
public void testInitPreference_hasCorrectSummary() {
Bundle bundle = new Bundle(4);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, BACKGROUND_TIME_MS);