Remove references to BatteryStatsHelper from AppBatteryPreferenceController
Bug: 173745486 Bug: 180630447 Test: make RunSettingsRoboTests Test: male RunSettingsGoogleRoboTests Change-Id: Ic836d9f5e791d1e3ddc2237ff108190e53dcac19
This commit is contained in:
@@ -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<BatterySipper> 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<BatteryStatsHelper> {
|
||||
@Override
|
||||
public Loader<BatteryStatsHelper> onCreateLoader(int id, Bundle args) {
|
||||
return new BatteryStatsHelperLoader(mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFinished(Loader<BatteryStatsHelper> loader,
|
||||
BatteryStatsHelper batteryHelper) {
|
||||
mBatteryHelper = batteryHelper;
|
||||
AppBatteryPreferenceController.this.onLoadFinished();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoaderReset(Loader<BatteryStatsHelper> loader) {
|
||||
}
|
||||
}
|
||||
|
||||
private class BatteryUsageStatsLoaderCallbacks
|
||||
implements LoaderManager.LoaderCallbacks<BatteryUsageStats> {
|
||||
@Override
|
||||
|
@@ -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<BatterySipper> usageList = new ArrayList<>();
|
||||
usageList.add(mBatterySipper);
|
||||
usageList.add(mOtherBatterySipper);
|
||||
when(mBatteryStatsHelper.getUsageList()).thenReturn(usageList);
|
||||
public void findTargetBatteryConsumer_findCorrectBatteryConsumer() {
|
||||
final List<UidBatteryConsumer> 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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user