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.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
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.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
|
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
|
||||||
import com.android.settings.fuelgauge.BatteryEntry;
|
import com.android.settings.fuelgauge.BatteryEntry;
|
||||||
import com.android.settings.fuelgauge.BatteryStatsHelperLoader;
|
|
||||||
import com.android.settings.fuelgauge.BatteryUsageStatsLoader;
|
import com.android.settings.fuelgauge.BatteryUsageStatsLoader;
|
||||||
import com.android.settings.fuelgauge.BatteryUtils;
|
import com.android.settings.fuelgauge.BatteryUtils;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
@@ -52,22 +49,11 @@ public class AppBatteryPreferenceController extends BasePreferenceController
|
|||||||
|
|
||||||
private static final String KEY_BATTERY = "battery";
|
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
|
@VisibleForTesting
|
||||||
final BatteryUsageStatsLoaderCallbacks mBatteryUsageStatsLoaderCallbacks =
|
final BatteryUsageStatsLoaderCallbacks mBatteryUsageStatsLoaderCallbacks =
|
||||||
new BatteryUsageStatsLoaderCallbacks();
|
new BatteryUsageStatsLoaderCallbacks();
|
||||||
|
|
||||||
@VisibleForTesting
|
|
||||||
BatterySipper mSipper;
|
|
||||||
@VisibleForTesting
|
|
||||||
BatteryStatsHelper mBatteryHelper;
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
BatteryUtils mBatteryUtils;
|
BatteryUtils mBatteryUtils;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
BatteryUsageStats mBatteryUsageStats;
|
BatteryUsageStats mBatteryUsageStats;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -124,9 +110,6 @@ public class AppBatteryPreferenceController extends BasePreferenceController
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
mParent.getLoaderManager().restartLoader(
|
|
||||||
AppInfoDashboardFragment.LOADER_BATTERY, Bundle.EMPTY,
|
|
||||||
mBatteryStatsHelperLoaderCallbacks);
|
|
||||||
mParent.getLoaderManager().restartLoader(
|
mParent.getLoaderManager().restartLoader(
|
||||||
AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS, Bundle.EMPTY,
|
AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS, Bundle.EMPTY,
|
||||||
mBatteryUsageStatsLoaderCallbacks);
|
mBatteryUsageStatsLoaderCallbacks);
|
||||||
@@ -134,20 +117,17 @@ public class AppBatteryPreferenceController extends BasePreferenceController
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
mParent.getLoaderManager().destroyLoader(AppInfoDashboardFragment.LOADER_BATTERY);
|
|
||||||
mParent.getLoaderManager().destroyLoader(
|
mParent.getLoaderManager().destroyLoader(
|
||||||
AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS);
|
AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onLoadFinished() {
|
private void onLoadFinished() {
|
||||||
// Wait for both loaders to finish before proceeding.
|
if (mBatteryUsageStats == null) {
|
||||||
if (mBatteryHelper == null || mBatteryUsageStats == null) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final PackageInfo packageInfo = mParent.getPackageInfo();
|
final PackageInfo packageInfo = mParent.getPackageInfo();
|
||||||
if (packageInfo != null) {
|
if (packageInfo != null) {
|
||||||
mSipper = findTargetSipper(mBatteryHelper, packageInfo.applicationInfo.uid);
|
|
||||||
mUidBatteryConsumer = findTargetUidBatteryConsumer(mBatteryUsageStats,
|
mUidBatteryConsumer = findTargetUidBatteryConsumer(mBatteryUsageStats,
|
||||||
packageInfo.applicationInfo.uid);
|
packageInfo.applicationInfo.uid);
|
||||||
if (mParent.getActivity() != null) {
|
if (mParent.getActivity() != null) {
|
||||||
@@ -172,19 +152,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean isBatteryStatsAvailable() {
|
boolean isBatteryStatsAvailable() {
|
||||||
return mBatteryHelper != null && mSipper != null && mUidBatteryConsumer != null;
|
return 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -199,25 +167,6 @@ public class AppBatteryPreferenceController extends BasePreferenceController
|
|||||||
return null;
|
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
|
private class BatteryUsageStatsLoaderCallbacks
|
||||||
implements LoaderManager.LoaderCallbacks<BatteryUsageStats> {
|
implements LoaderManager.LoaderCallbacks<BatteryUsageStats> {
|
||||||
@Override
|
@Override
|
||||||
|
@@ -30,7 +30,6 @@ import android.app.AppOpsManager;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import android.os.BatteryStats;
|
|
||||||
import android.os.BatteryUsageStats;
|
import android.os.BatteryUsageStats;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UidBatteryConsumer;
|
import android.os.UidBatteryConsumer;
|
||||||
@@ -39,15 +38,12 @@ import androidx.loader.app.LoaderManager;
|
|||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
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.SettingsActivity;
|
||||||
import com.android.settings.fuelgauge.BatteryUtils;
|
import com.android.settings.fuelgauge.BatteryUtils;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Answers;
|
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
@@ -73,13 +69,7 @@ public class AppBatteryPreferenceControllerTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private UidBatteryConsumer mUidBatteryConsumer;
|
private UidBatteryConsumer mUidBatteryConsumer;
|
||||||
@Mock
|
@Mock
|
||||||
private BatterySipper mBatterySipper;
|
private UidBatteryConsumer mOtherUidBatteryConsumer;
|
||||||
@Mock
|
|
||||||
private BatterySipper mOtherBatterySipper;
|
|
||||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
|
||||||
private BatteryStatsHelper mBatteryStatsHelper;
|
|
||||||
@Mock
|
|
||||||
private BatteryStats.Uid mUid;
|
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -102,10 +92,8 @@ public class AppBatteryPreferenceControllerTest {
|
|||||||
|
|
||||||
mBatteryPreference = spy(new Preference(RuntimeEnvironment.application));
|
mBatteryPreference = spy(new Preference(RuntimeEnvironment.application));
|
||||||
|
|
||||||
mBatterySipper.drainType = BatterySipper.DrainType.IDLE;
|
when(mUidBatteryConsumer.getUid()).thenReturn(TARGET_UID);
|
||||||
mBatterySipper.uidObj = mUid;
|
when(mOtherUidBatteryConsumer.getUid()).thenReturn(OTHER_UID);
|
||||||
doReturn(TARGET_UID).when(mBatterySipper).getUid();
|
|
||||||
doReturn(OTHER_UID).when(mOtherBatterySipper).getUid();
|
|
||||||
|
|
||||||
mController = spy(new AppBatteryPreferenceController(
|
mController = spy(new AppBatteryPreferenceController(
|
||||||
RuntimeEnvironment.application, mFragment, "package1", null /* lifecycle */));
|
RuntimeEnvironment.application, mFragment, "package1", null /* lifecycle */));
|
||||||
@@ -125,14 +113,14 @@ public class AppBatteryPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void findTargetSipper_findCorrectSipper() {
|
public void findTargetBatteryConsumer_findCorrectBatteryConsumer() {
|
||||||
final List<BatterySipper> usageList = new ArrayList<>();
|
final List<UidBatteryConsumer> uidBatteryConsumers = new ArrayList<>();
|
||||||
usageList.add(mBatterySipper);
|
uidBatteryConsumers.add(mUidBatteryConsumer);
|
||||||
usageList.add(mOtherBatterySipper);
|
uidBatteryConsumers.add(mOtherUidBatteryConsumer);
|
||||||
when(mBatteryStatsHelper.getUsageList()).thenReturn(usageList);
|
when(mBatteryUsageStats.getUidBatteryConsumers()).thenReturn(uidBatteryConsumers);
|
||||||
|
|
||||||
assertThat(mController.findTargetSipper(mBatteryStatsHelper, TARGET_UID))
|
assertThat(mController.findTargetUidBatteryConsumer(mBatteryUsageStats, TARGET_UID))
|
||||||
.isEqualTo(mBatterySipper);
|
.isEqualTo(mUidBatteryConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -147,13 +135,10 @@ public class AppBatteryPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateBattery_hasBatteryStats_summaryPercent() {
|
public void updateBattery_hasBatteryStats_summaryPercent() {
|
||||||
mController.mBatteryHelper = mBatteryStatsHelper;
|
|
||||||
mController.mSipper = mBatterySipper;
|
|
||||||
mController.mBatteryUsageStats = mBatteryUsageStats;
|
mController.mBatteryUsageStats = mBatteryUsageStats;
|
||||||
mController.mUidBatteryConsumer = mUidBatteryConsumer;
|
mController.mUidBatteryConsumer = mUidBatteryConsumer;
|
||||||
doReturn(BATTERY_LEVEL).when(mBatteryUtils).calculateBatteryPercent(anyDouble(),
|
doReturn(BATTERY_LEVEL).when(mBatteryUtils).calculateBatteryPercent(anyDouble(),
|
||||||
anyDouble(), anyInt());
|
anyDouble(), anyInt());
|
||||||
doReturn(new ArrayList<>()).when(mBatteryStatsHelper).getUsageList();
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
mController.updateBattery();
|
mController.updateBattery();
|
||||||
@@ -163,8 +148,6 @@ public class AppBatteryPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isBatteryStatsAvailable_hasBatteryStatsHelperAndSipper_returnTrue() {
|
public void isBatteryStatsAvailable_hasBatteryStatsHelperAndSipper_returnTrue() {
|
||||||
mController.mBatteryHelper = mBatteryStatsHelper;
|
|
||||||
mController.mSipper = mBatterySipper;
|
|
||||||
mController.mBatteryUsageStats = mBatteryUsageStats;
|
mController.mBatteryUsageStats = mBatteryUsageStats;
|
||||||
mController.mUidBatteryConsumer = mUidBatteryConsumer;
|
mController.mUidBatteryConsumer = mUidBatteryConsumer;
|
||||||
|
|
||||||
@@ -183,8 +166,6 @@ public class AppBatteryPreferenceControllerTest {
|
|||||||
when(mFragment.getActivity()).thenReturn(mActivity);
|
when(mFragment.getActivity()).thenReturn(mActivity);
|
||||||
final String key = mController.getPreferenceKey();
|
final String key = mController.getPreferenceKey();
|
||||||
when(mBatteryPreference.getKey()).thenReturn(key);
|
when(mBatteryPreference.getKey()).thenReturn(key);
|
||||||
mController.mSipper = mBatterySipper;
|
|
||||||
mController.mBatteryHelper = mBatteryStatsHelper;
|
|
||||||
mController.mBatteryUsageStats = mBatteryUsageStats;
|
mController.mBatteryUsageStats = mBatteryUsageStats;
|
||||||
mController.mUidBatteryConsumer = mUidBatteryConsumer;
|
mController.mUidBatteryConsumer = mUidBatteryConsumer;
|
||||||
|
|
||||||
@@ -199,8 +180,8 @@ public class AppBatteryPreferenceControllerTest {
|
|||||||
mController.onResume();
|
mController.onResume();
|
||||||
|
|
||||||
verify(mLoaderManager)
|
verify(mLoaderManager)
|
||||||
.restartLoader(AppInfoDashboardFragment.LOADER_BATTERY, Bundle.EMPTY,
|
.restartLoader(AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS, Bundle.EMPTY,
|
||||||
mController.mBatteryStatsHelperLoaderCallbacks);
|
mController.mBatteryUsageStatsLoaderCallbacks);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -209,6 +190,6 @@ public class AppBatteryPreferenceControllerTest {
|
|||||||
|
|
||||||
mController.onPause();
|
mController.onPause();
|
||||||
|
|
||||||
verify(mLoaderManager).destroyLoader(AppInfoDashboardFragment.LOADER_BATTERY);
|
verify(mLoaderManager).destroyLoader(AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user