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

Commit a2ab3ae5 authored by Zaiyue Xue's avatar Zaiyue Xue
Browse files

Small refactor battery usage code according to the comments in previous cls.

Bug: 262802531
Test: presubmit
Change-Id: I0d496fc6a41af5964311dafe8dd89f8b8058de82
parent c00fb2ef
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -313,11 +313,8 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
    @VisibleForTesting
    void removeAndCacheAllUnusedPreferences() {
        List<BatteryDiffEntry> entries = getBatteryDiffEntries();
        Set<String> entryKeySet = new ArraySet<>();
        for (BatteryDiffEntry entry : entries) {
            entryKeySet.add(entry.getKey());
        }

        Set<String> entryKeySet = new ArraySet<>(entries.size());
        entries.forEach(entry -> entryKeySet.add(entry.getKey()));
        final int prefsCount = mAppListPreferenceGroup.getPreferenceCount();
        for (int index = prefsCount - 1; index >= 0; index--) {
            final Preference pref = mAppListPreferenceGroup.getPreference(index);
+3 −3
Original line number Diff line number Diff line
@@ -725,9 +725,9 @@ public final class DataProcessor {
    @VisibleForTesting
    @Nullable
    static Map<Long, Map<String, List<AppUsagePeriod>>> buildAppUsagePeriodList(
            final List<AppUsageEvent> allAppUsageEvents, final List<BatteryEvent> batteryEventList,
            final List<AppUsageEvent> appUsageEvents, final List<BatteryEvent> batteryEventList,
            final long startTime, final long endTime) {
        if (allAppUsageEvents.isEmpty()) {
        if (appUsageEvents.isEmpty()) {
            return null;
        }

@@ -735,7 +735,7 @@ public final class DataProcessor {
        // use.
        final List<AppUsageEvent> deviceEvents = new ArrayList<>();
        final ArrayMap<Integer, List<AppUsageEvent>> usageEventsByInstanceId = new ArrayMap<>();
        for (final AppUsageEvent event : allAppUsageEvents) {
        for (final AppUsageEvent event : appUsageEvents) {
            final AppUsageEventType eventType = event.getType();
            if (eventType == AppUsageEventType.ACTIVITY_RESUMED
                    || eventType == AppUsageEventType.ACTIVITY_STOPPED) {
+9 −15
Original line number Diff line number Diff line
@@ -110,13 +110,7 @@ public final class DatabaseUtils {

    // For testing only.
    @VisibleForTesting
    static Supplier<Cursor> sFakeBatteryStateSupplier;
    @VisibleForTesting
    static Supplier<Cursor> sFakeAppUsageEventSupplier;
    @VisibleForTesting
    static Supplier<Cursor> sFakeAppUsageLatestTimestampSupplier;
    @VisibleForTesting
    static Supplier<Cursor> sFakeBatteryEventSupplier;
    static Supplier<Cursor> sFakeSupplier;

    private DatabaseUtils() {
    }
@@ -340,7 +334,7 @@ public final class DatabaseUtils {
            resolver.insert(BATTERY_EVENT_URI, contentValues);
            Log.d(TAG, "insert() battery event data into database: " + batteryEvent.toString());
        } catch (Exception e) {
            Log.e(TAG, "insert() battery event data into database error:\n" + e);
            Log.e(TAG, "insert() battery event data into database error:", e);
        }
        Log.d(TAG, String.format("sendBatteryEventData() in %d/ms",
                (System.currentTimeMillis() - startTime)));
@@ -487,8 +481,8 @@ public final class DatabaseUtils {
            Context context, final Uri appUsageLatestTimestampUri) {
        // We have already make sure the context here is with profile parent's user identity. Don't
        // need to check whether current user is work profile.
        try (Cursor cursor = sFakeAppUsageLatestTimestampSupplier != null
                ? sFakeAppUsageLatestTimestampSupplier.get()
        try (Cursor cursor = sFakeSupplier != null
                ? sFakeSupplier.get()
                : context.getContentResolver().query(
                        appUsageLatestTimestampUri, null, null, null)) {
            if (cursor == null || cursor.getCount() == 0) {
@@ -514,8 +508,8 @@ public final class DatabaseUtils {
        if (context == null) {
            return appUsageEventList;
        }
        try (Cursor cursor = sFakeAppUsageEventSupplier != null
                ? sFakeAppUsageEventSupplier.get()
        try (Cursor cursor = sFakeSupplier != null
                ? sFakeSupplier.get()
                : context.getContentResolver().query(appUsageEventUri, null, null, null)) {
            if (cursor == null || cursor.getCount() == 0) {
                return appUsageEventList;
@@ -540,8 +534,8 @@ public final class DatabaseUtils {
        if (context == null) {
            return batteryEventList;
        }
        try (Cursor cursor = sFakeBatteryEventSupplier != null
                ? sFakeBatteryEventSupplier.get()
        try (Cursor cursor = sFakeSupplier != null
                ? sFakeSupplier.get()
                : context.getContentResolver().query(batteryEventUri, null, null, null)) {
            if (cursor == null || cursor.getCount() == 0) {
                return batteryEventList;
@@ -566,7 +560,7 @@ public final class DatabaseUtils {
            return null;
        }
        final Map<Long, Map<String, BatteryHistEntry>> resultMap = new HashMap();
        try (Cursor cursor = sFakeBatteryStateSupplier != null ? sFakeBatteryStateSupplier.get() :
        try (Cursor cursor = sFakeSupplier != null ? sFakeSupplier.get() :
                     context.getContentResolver().query(batteryStateUri, null, null, null)) {
            if (cursor == null || cursor.getCount() == 0) {
                return resultMap;
+2 −2
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ public final class BatteryUsageBreakdownControllerTest {
    }

    @Test
    public void removeAndCacheAllUnusedPreferences_removePerf_buildCacheAndRemoveAllPreference() {
    public void removeAndCacheAllUnusedPreferences_removePref_buildCacheAndRemoveAllPreference() {
        doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
        doReturn(mPowerGaugePreference).when(mAppListPreferenceGroup).getPreference(0);
        doReturn(PREF_KEY2).when(mBatteryHistEntry).getKey();
@@ -193,7 +193,7 @@ public final class BatteryUsageBreakdownControllerTest {
    }

    @Test
    public void removeAndCacheAllUnusedPreferences_keepPerf_KeepAllPreference() {
    public void removeAndCacheAllUnusedPreferences_keepPref_KeepAllPreference() {
        doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
        doReturn(mPowerGaugePreference).when(mAppListPreferenceGroup).getPreference(0);
        doReturn(PREF_KEY).when(mBatteryHistEntry).getKey();
+3 −3
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ public final class DataProcessManagerTest {
                        AppUsageEventEntity.KEY_UID,
                        AppUsageEventEntity.KEY_PACKAGE_NAME,
                        AppUsageEventEntity.KEY_TIMESTAMP});
        DatabaseUtils.sFakeAppUsageEventSupplier = () -> cursor;
        DatabaseUtils.sFakeSupplier = () -> cursor;
        doReturn(true).when(mUserManager).isUserUnlocked(anyInt());

        mDataProcessManager.start();
@@ -171,7 +171,7 @@ public final class DataProcessManagerTest {
        cursor.addRow(new Object[] {
                AppUsageEventType.ACTIVITY_STOPPED.getNumber(), /*timestamp=*/ 6, /*userId=*/ 1,
                /*instanceId=*/ 2, packageName});
        DatabaseUtils.sFakeAppUsageEventSupplier = () -> cursor;
        DatabaseUtils.sFakeSupplier = () -> cursor;

        final DataProcessManager dataProcessManager = new DataProcessManager(
                mContext, /*handler=*/ null, /*rawStartTimestamp=*/ 2L,  /*callbackFunction=*/ null,
@@ -240,7 +240,7 @@ public final class DataProcessManagerTest {
                        AppUsageEventEntity.KEY_TIMESTAMP});
        // Adds fake data into the cursor.
        cursor.addRow(new Object[] {101L, "app name1", 1001L});
        DatabaseUtils.sFakeAppUsageEventSupplier = () -> cursor;
        DatabaseUtils.sFakeSupplier = () -> cursor;

        mDataProcessManager.start();

Loading