Loading src/com/android/settings/fuelgauge/PowerUsageSummary.java +8 −3 Original line number Diff line number Diff line Loading @@ -166,7 +166,8 @@ public class PowerUsageSummary extends PowerUsageBase implements } }; private LoaderManager.LoaderCallbacks<Cursor> mBatteryPredictionLoaderCallbacks = @VisibleForTesting LoaderManager.LoaderCallbacks<Cursor> mBatteryPredictionLoaderCallbacks = new LoaderManager.LoaderCallbacks<Cursor>() { @Override Loading @@ -177,8 +178,11 @@ public class PowerUsageSummary extends PowerUsageBase implements @Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { if (cursor == null) { return; } try { if (cursor != null && cursor.moveToFirst()) { if (cursor.moveToFirst()) { mEnhancedEstimate = mPowerFeatureProvider.getTimeRemainingEstimate(cursor); } Loading Loading @@ -746,7 +750,8 @@ public class PowerUsageSummary extends PowerUsageBase implements @VisibleForTesting void useEnhancedEstimateIfAvailable(Context context, BatteryInfo batteryInfo) { if (mEnhancedEstimate > 0) { if (mEnhancedEstimate > 0 && mPowerFeatureProvider.isEnhancedBatteryPredictionEnabled(context)) { final Resources resources = context.getResources(); batteryInfo.remainingTimeUs = mEnhancedEstimate; String timeString = Formatter.formatShortElapsedTime(context, mEnhancedEstimate); Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +25 −0 Original line number Diff line number Diff line Loading @@ -494,6 +494,7 @@ public class PowerUsageSummaryTest { // mock out the provider final long time = 60 * 1000 * 1000; PowerUsageFeatureProvider provider = mFeatureFactory.getPowerUsageFeatureProvider(mContext); when(provider.isEnhancedBatteryPredictionEnabled(any())).thenReturn(true); mFragment.mPowerFeatureProvider = provider; mFragment.mEnhancedEstimate = time; Loading @@ -505,6 +506,30 @@ public class PowerUsageSummaryTest { assertThat(mBatteryInfo.remainingLabel).contains("About 17 hrs"); } @Test public void testUseEnhancedEstimateIfAvailable_noOpsOnDisabled() { // mock out the provider final long time = 60 * 1000 * 1000; PowerUsageFeatureProvider provider = mFeatureFactory.getPowerUsageFeatureProvider(mContext); when(provider.isEnhancedBatteryPredictionEnabled(any())).thenReturn(false); mFragment.mPowerFeatureProvider = provider; mFragment.mEnhancedEstimate = time; mBatteryInfo.remainingTimeUs = TIME_SINCE_LAST_FULL_CHARGE_US; mBatteryInfo.remainingLabel = TIME_LEFT; mFragment.useEnhancedEstimateIfAvailable(mRealContext, mBatteryInfo); // check to make sure the values did not change assertThat(mBatteryInfo.remainingTimeUs).isEqualTo(TIME_SINCE_LAST_FULL_CHARGE_US); assertThat(mBatteryInfo.remainingLabel).contains(TIME_LEFT); } @Test public void testBatteryPredictionLoaderCallbacks_DoesNotCrashOnNull() { // Sanity test to check for crash mFragment.mBatteryPredictionLoaderCallbacks.onLoadFinished(null, null); } @Test public void testInitAnomalyDetectionIfPossible_detectionEnabled_init() { when(mFeatureFactory.powerUsageFeatureProvider.isAnomalyDetectionEnabled()).thenReturn( Loading Loading
src/com/android/settings/fuelgauge/PowerUsageSummary.java +8 −3 Original line number Diff line number Diff line Loading @@ -166,7 +166,8 @@ public class PowerUsageSummary extends PowerUsageBase implements } }; private LoaderManager.LoaderCallbacks<Cursor> mBatteryPredictionLoaderCallbacks = @VisibleForTesting LoaderManager.LoaderCallbacks<Cursor> mBatteryPredictionLoaderCallbacks = new LoaderManager.LoaderCallbacks<Cursor>() { @Override Loading @@ -177,8 +178,11 @@ public class PowerUsageSummary extends PowerUsageBase implements @Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { if (cursor == null) { return; } try { if (cursor != null && cursor.moveToFirst()) { if (cursor.moveToFirst()) { mEnhancedEstimate = mPowerFeatureProvider.getTimeRemainingEstimate(cursor); } Loading Loading @@ -746,7 +750,8 @@ public class PowerUsageSummary extends PowerUsageBase implements @VisibleForTesting void useEnhancedEstimateIfAvailable(Context context, BatteryInfo batteryInfo) { if (mEnhancedEstimate > 0) { if (mEnhancedEstimate > 0 && mPowerFeatureProvider.isEnhancedBatteryPredictionEnabled(context)) { final Resources resources = context.getResources(); batteryInfo.remainingTimeUs = mEnhancedEstimate; String timeString = Formatter.formatShortElapsedTime(context, mEnhancedEstimate); Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +25 −0 Original line number Diff line number Diff line Loading @@ -494,6 +494,7 @@ public class PowerUsageSummaryTest { // mock out the provider final long time = 60 * 1000 * 1000; PowerUsageFeatureProvider provider = mFeatureFactory.getPowerUsageFeatureProvider(mContext); when(provider.isEnhancedBatteryPredictionEnabled(any())).thenReturn(true); mFragment.mPowerFeatureProvider = provider; mFragment.mEnhancedEstimate = time; Loading @@ -505,6 +506,30 @@ public class PowerUsageSummaryTest { assertThat(mBatteryInfo.remainingLabel).contains("About 17 hrs"); } @Test public void testUseEnhancedEstimateIfAvailable_noOpsOnDisabled() { // mock out the provider final long time = 60 * 1000 * 1000; PowerUsageFeatureProvider provider = mFeatureFactory.getPowerUsageFeatureProvider(mContext); when(provider.isEnhancedBatteryPredictionEnabled(any())).thenReturn(false); mFragment.mPowerFeatureProvider = provider; mFragment.mEnhancedEstimate = time; mBatteryInfo.remainingTimeUs = TIME_SINCE_LAST_FULL_CHARGE_US; mBatteryInfo.remainingLabel = TIME_LEFT; mFragment.useEnhancedEstimateIfAvailable(mRealContext, mBatteryInfo); // check to make sure the values did not change assertThat(mBatteryInfo.remainingTimeUs).isEqualTo(TIME_SINCE_LAST_FULL_CHARGE_US); assertThat(mBatteryInfo.remainingLabel).contains(TIME_LEFT); } @Test public void testBatteryPredictionLoaderCallbacks_DoesNotCrashOnNull() { // Sanity test to check for crash mFragment.mBatteryPredictionLoaderCallbacks.onLoadFinished(null, null); } @Test public void testInitAnomalyDetectionIfPossible_detectionEnabled_init() { when(mFeatureFactory.powerUsageFeatureProvider.isAnomalyDetectionEnabled()).thenReturn( Loading