Merge "Skip cursor loader if not needed"
This commit is contained in:
committed by
Android (Google) Code Review
commit
b287dc93d5
@@ -113,7 +113,8 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final int ANOMALY_LOADER = 1;
|
static final int ANOMALY_LOADER = 1;
|
||||||
private static final int BATTERY_ESTIMATE_LOADER = 2;
|
@VisibleForTesting
|
||||||
|
static final int BATTERY_ESTIMATE_LOADER = 2;
|
||||||
private static final int MENU_STATS_TYPE = Menu.FIRST;
|
private static final int MENU_STATS_TYPE = Menu.FIRST;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final int MENU_HIGH_POWER_APPS = Menu.FIRST + 3;
|
static final int MENU_HIGH_POWER_APPS = Menu.FIRST + 3;
|
||||||
@@ -182,6 +183,7 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
@Override
|
@Override
|
||||||
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
|
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
|
||||||
final Uri queryUri = mPowerFeatureProvider.getEnhancedBatteryPredictionUri();
|
final Uri queryUri = mPowerFeatureProvider.getEnhancedBatteryPredictionUri();
|
||||||
|
|
||||||
return new CursorLoader(getContext(), queryUri, null, null, null, null);
|
return new CursorLoader(getContext(), queryUri, null, null, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,10 +230,7 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
mAnomalySparseArray = new SparseArray<>();
|
mAnomalySparseArray = new SparseArray<>();
|
||||||
|
|
||||||
initFeatureProvider();
|
initFeatureProvider();
|
||||||
if (mPowerFeatureProvider != null) {
|
initializeBatteryEstimateLoader();
|
||||||
getLoaderManager().initLoader(BATTERY_ESTIMATE_LOADER, Bundle.EMPTY,
|
|
||||||
mBatteryPredictionLoaderCallbacks);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -815,6 +814,15 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
void initializeBatteryEstimateLoader() {
|
||||||
|
if (mPowerFeatureProvider != null
|
||||||
|
&& mPowerFeatureProvider.isEnhancedBatteryPredictionEnabled(getContext())) {
|
||||||
|
getLoaderManager().initLoader(BATTERY_ESTIMATE_LOADER, Bundle.EMPTY,
|
||||||
|
mBatteryPredictionLoaderCallbacks);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static List<BatterySipper> getFakeStats() {
|
private static List<BatterySipper> getFakeStats() {
|
||||||
ArrayList<BatterySipper> stats = new ArrayList<>();
|
ArrayList<BatterySipper> stats = new ArrayList<>();
|
||||||
float use = 5;
|
float use = 5;
|
||||||
|
@@ -576,6 +576,18 @@ public class PowerUsageSummaryTest {
|
|||||||
mFragment.mBatteryPredictionLoaderCallbacks.onLoadFinished(null, null);
|
mFragment.mBatteryPredictionLoaderCallbacks.onLoadFinished(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOnCreate_BatteryPredictionSkippedWhenDisabled() {
|
||||||
|
PowerUsageFeatureProvider provider = mFeatureFactory.getPowerUsageFeatureProvider(mContext);
|
||||||
|
when(provider.isEnhancedBatteryPredictionEnabled(any())).thenReturn(false);
|
||||||
|
mFragment.mPowerFeatureProvider = provider;
|
||||||
|
doReturn(mLoaderManager).when(mFragment).getLoaderManager();
|
||||||
|
mFragment.initializeBatteryEstimateLoader();
|
||||||
|
|
||||||
|
verify(mLoaderManager, never()).initLoader(eq(PowerUsageSummary.BATTERY_ESTIMATE_LOADER),
|
||||||
|
eq(Bundle.EMPTY), any());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testInitAnomalyDetectionIfPossible_detectionEnabled_init() {
|
public void testInitAnomalyDetectionIfPossible_detectionEnabled_init() {
|
||||||
when(mFeatureFactory.powerUsageFeatureProvider.isAnomalyDetectionEnabled()).thenReturn(
|
when(mFeatureFactory.powerUsageFeatureProvider.isAnomalyDetectionEnabled()).thenReturn(
|
||||||
|
Reference in New Issue
Block a user