Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51872ed3 authored by jackqdyulei's avatar jackqdyulei
Browse files

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

This cl is cherry picked from oc-dr to fix the test breakage.

Bug: 64127162
Test: RunSettingsRoboTests

Change-Id: I5d21afca17f177817976758c28ed86b3a10e95eb
parent c38502ba
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 */);
+4 −2
Original line number Diff line number Diff line
@@ -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());
+12 −0
Original line number Diff line number Diff line
@@ -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);