diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index 3bf7471bdaf..e8a4d9d4e09 100755 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -1058,6 +1058,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 */); diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index 106f7fada11..471710983e2 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -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()); @@ -212,7 +214,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); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java index 8feb1ff1072..c7eebc84e6c 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java @@ -368,6 +368,18 @@ public class AdvancedPowerUsageDetailTest { "0%"); } + @Test + public void testStartBatteryDetailPage_defaultPackageNull_chooseFromBatterySipper() { + mBatteryEntry.defaultPackageName = null; + mBatteryEntry.sipper.mPackages = PACKAGE_NAME; + + AdvancedPowerUsageDetail.startBatteryDetailPage(mTestActivity, mBatteryUtils, 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);