From 296dce404e38b8b0f6c051926448cd2294844e02 Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Sat, 13 Mar 2021 20:17:58 -0800 Subject: [PATCH] Remove references to BatteryStatsHelper from AppBatteryPreferenceController Bug: 173745486 Bug: 180630447 Test: make RunSettingsRoboTests Test: male RunSettingsGoogleRoboTests Change-Id: Ic836d9f5e791d1e3ddc2237ff108190e53dcac19 --- .../AppBatteryPreferenceController.java | 55 +------------------ .../AppBatteryPreferenceControllerTest.java | 45 +++++---------- 2 files changed, 15 insertions(+), 85 deletions(-) diff --git a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java index 5f1d9d2a52d..6d515a31363 100644 --- a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java @@ -30,14 +30,11 @@ import androidx.loader.content.Loader; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; -import com.android.internal.os.BatterySipper; -import com.android.internal.os.BatteryStatsHelper; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.BasePreferenceController; import com.android.settings.fuelgauge.AdvancedPowerUsageDetail; import com.android.settings.fuelgauge.BatteryEntry; -import com.android.settings.fuelgauge.BatteryStatsHelperLoader; import com.android.settings.fuelgauge.BatteryUsageStatsLoader; import com.android.settings.fuelgauge.BatteryUtils; import com.android.settingslib.core.lifecycle.Lifecycle; @@ -52,22 +49,11 @@ public class AppBatteryPreferenceController extends BasePreferenceController private static final String KEY_BATTERY = "battery"; - // TODO(b/180630447): switch to BatteryUsageStatsLoader and remove all references to - // BatteryStatsHelper and BatterySipper - @VisibleForTesting - final BatteryStatsHelperLoaderCallbacks mBatteryStatsHelperLoaderCallbacks = - new BatteryStatsHelperLoaderCallbacks(); @VisibleForTesting final BatteryUsageStatsLoaderCallbacks mBatteryUsageStatsLoaderCallbacks = new BatteryUsageStatsLoaderCallbacks(); - - @VisibleForTesting - BatterySipper mSipper; - @VisibleForTesting - BatteryStatsHelper mBatteryHelper; @VisibleForTesting BatteryUtils mBatteryUtils; - @VisibleForTesting BatteryUsageStats mBatteryUsageStats; @VisibleForTesting @@ -124,9 +110,6 @@ public class AppBatteryPreferenceController extends BasePreferenceController @Override public void onResume() { - mParent.getLoaderManager().restartLoader( - AppInfoDashboardFragment.LOADER_BATTERY, Bundle.EMPTY, - mBatteryStatsHelperLoaderCallbacks); mParent.getLoaderManager().restartLoader( AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS, Bundle.EMPTY, mBatteryUsageStatsLoaderCallbacks); @@ -134,20 +117,17 @@ public class AppBatteryPreferenceController extends BasePreferenceController @Override public void onPause() { - mParent.getLoaderManager().destroyLoader(AppInfoDashboardFragment.LOADER_BATTERY); mParent.getLoaderManager().destroyLoader( AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS); } private void onLoadFinished() { - // Wait for both loaders to finish before proceeding. - if (mBatteryHelper == null || mBatteryUsageStats == null) { + if (mBatteryUsageStats == null) { return; } final PackageInfo packageInfo = mParent.getPackageInfo(); if (packageInfo != null) { - mSipper = findTargetSipper(mBatteryHelper, packageInfo.applicationInfo.uid); mUidBatteryConsumer = findTargetUidBatteryConsumer(mBatteryUsageStats, packageInfo.applicationInfo.uid); if (mParent.getActivity() != null) { @@ -172,19 +152,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController @VisibleForTesting boolean isBatteryStatsAvailable() { - return mBatteryHelper != null && mSipper != null && mUidBatteryConsumer != null; - } - - @VisibleForTesting - BatterySipper findTargetSipper(BatteryStatsHelper batteryHelper, int uid) { - final List usageList = batteryHelper.getUsageList(); - for (int i = 0, size = usageList.size(); i < size; i++) { - final BatterySipper sipper = usageList.get(i); - if (sipper.getUid() == uid) { - return sipper; - } - } - return null; + return mUidBatteryConsumer != null; } @VisibleForTesting @@ -199,25 +167,6 @@ public class AppBatteryPreferenceController extends BasePreferenceController return null; } - private class BatteryStatsHelperLoaderCallbacks - implements LoaderManager.LoaderCallbacks { - @Override - public Loader onCreateLoader(int id, Bundle args) { - return new BatteryStatsHelperLoader(mContext); - } - - @Override - public void onLoadFinished(Loader loader, - BatteryStatsHelper batteryHelper) { - mBatteryHelper = batteryHelper; - AppBatteryPreferenceController.this.onLoadFinished(); - } - - @Override - public void onLoaderReset(Loader loader) { - } - } - private class BatteryUsageStatsLoaderCallbacks implements LoaderManager.LoaderCallbacks { @Override diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java index 440ad044087..71ab3344b29 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java @@ -30,7 +30,6 @@ import android.app.AppOpsManager; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; -import android.os.BatteryStats; import android.os.BatteryUsageStats; import android.os.Bundle; import android.os.UidBatteryConsumer; @@ -39,15 +38,12 @@ import androidx.loader.app.LoaderManager; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; -import com.android.internal.os.BatterySipper; -import com.android.internal.os.BatteryStatsHelper; import com.android.settings.SettingsActivity; import com.android.settings.fuelgauge.BatteryUtils; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; @@ -73,13 +69,7 @@ public class AppBatteryPreferenceControllerTest { @Mock private UidBatteryConsumer mUidBatteryConsumer; @Mock - private BatterySipper mBatterySipper; - @Mock - private BatterySipper mOtherBatterySipper; - @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private BatteryStatsHelper mBatteryStatsHelper; - @Mock - private BatteryStats.Uid mUid; + private UidBatteryConsumer mOtherUidBatteryConsumer; @Mock private PreferenceScreen mScreen; @Mock @@ -102,10 +92,8 @@ public class AppBatteryPreferenceControllerTest { mBatteryPreference = spy(new Preference(RuntimeEnvironment.application)); - mBatterySipper.drainType = BatterySipper.DrainType.IDLE; - mBatterySipper.uidObj = mUid; - doReturn(TARGET_UID).when(mBatterySipper).getUid(); - doReturn(OTHER_UID).when(mOtherBatterySipper).getUid(); + when(mUidBatteryConsumer.getUid()).thenReturn(TARGET_UID); + when(mOtherUidBatteryConsumer.getUid()).thenReturn(OTHER_UID); mController = spy(new AppBatteryPreferenceController( RuntimeEnvironment.application, mFragment, "package1", null /* lifecycle */)); @@ -125,14 +113,14 @@ public class AppBatteryPreferenceControllerTest { } @Test - public void findTargetSipper_findCorrectSipper() { - final List usageList = new ArrayList<>(); - usageList.add(mBatterySipper); - usageList.add(mOtherBatterySipper); - when(mBatteryStatsHelper.getUsageList()).thenReturn(usageList); + public void findTargetBatteryConsumer_findCorrectBatteryConsumer() { + final List uidBatteryConsumers = new ArrayList<>(); + uidBatteryConsumers.add(mUidBatteryConsumer); + uidBatteryConsumers.add(mOtherUidBatteryConsumer); + when(mBatteryUsageStats.getUidBatteryConsumers()).thenReturn(uidBatteryConsumers); - assertThat(mController.findTargetSipper(mBatteryStatsHelper, TARGET_UID)) - .isEqualTo(mBatterySipper); + assertThat(mController.findTargetUidBatteryConsumer(mBatteryUsageStats, TARGET_UID)) + .isEqualTo(mUidBatteryConsumer); } @Test @@ -147,13 +135,10 @@ public class AppBatteryPreferenceControllerTest { @Test public void updateBattery_hasBatteryStats_summaryPercent() { - mController.mBatteryHelper = mBatteryStatsHelper; - mController.mSipper = mBatterySipper; mController.mBatteryUsageStats = mBatteryUsageStats; mController.mUidBatteryConsumer = mUidBatteryConsumer; doReturn(BATTERY_LEVEL).when(mBatteryUtils).calculateBatteryPercent(anyDouble(), anyDouble(), anyInt()); - doReturn(new ArrayList<>()).when(mBatteryStatsHelper).getUsageList(); mController.displayPreference(mScreen); mController.updateBattery(); @@ -163,8 +148,6 @@ public class AppBatteryPreferenceControllerTest { @Test public void isBatteryStatsAvailable_hasBatteryStatsHelperAndSipper_returnTrue() { - mController.mBatteryHelper = mBatteryStatsHelper; - mController.mSipper = mBatterySipper; mController.mBatteryUsageStats = mBatteryUsageStats; mController.mUidBatteryConsumer = mUidBatteryConsumer; @@ -183,8 +166,6 @@ public class AppBatteryPreferenceControllerTest { when(mFragment.getActivity()).thenReturn(mActivity); final String key = mController.getPreferenceKey(); when(mBatteryPreference.getKey()).thenReturn(key); - mController.mSipper = mBatterySipper; - mController.mBatteryHelper = mBatteryStatsHelper; mController.mBatteryUsageStats = mBatteryUsageStats; mController.mUidBatteryConsumer = mUidBatteryConsumer; @@ -199,8 +180,8 @@ public class AppBatteryPreferenceControllerTest { mController.onResume(); verify(mLoaderManager) - .restartLoader(AppInfoDashboardFragment.LOADER_BATTERY, Bundle.EMPTY, - mController.mBatteryStatsHelperLoaderCallbacks); + .restartLoader(AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS, Bundle.EMPTY, + mController.mBatteryUsageStatsLoaderCallbacks); } @Test @@ -209,6 +190,6 @@ public class AppBatteryPreferenceControllerTest { mController.onPause(); - verify(mLoaderManager).destroyLoader(AppInfoDashboardFragment.LOADER_BATTERY); + verify(mLoaderManager).destroyLoader(AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS); } }