Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37e51e2d authored by Salvador Martinez's avatar Salvador Martinez Committed by Android (Google) Code Review
Browse files

Merge "Fix null pointer error && add settings side guard"

parents 2664ccae 52aa68f7
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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
@@ -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);
                        }
@@ -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);
+25 −0
Original line number Diff line number Diff line
@@ -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;

@@ -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(