Use package from sipper if default is null

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
This commit is contained in:
jackqdyulei
2017-07-27 14:44:58 -07:00
parent 5e2e0df356
commit 1f0f6317f6
3 changed files with 17 additions and 2 deletions

View File

@@ -1050,6 +1050,7 @@ public class InstalledAppDetails extends AppInfoBase
} 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 */);

View File

@@ -137,7 +137,9 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
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());
@@ -205,7 +207,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
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);
}
}