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

Commit f9469f10 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Disable bubbles for low ram devices" into rvc-qpr-dev

parents b9d95870 29559b16
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.notification;

import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;

import android.app.ActivityManager;
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
@@ -81,7 +82,8 @@ public class BubbleNotificationPreferenceController extends TogglePreferenceCont

    @Override
    public int getAvailabilityStatus() {
        return AVAILABLE;
        ActivityManager am = mContext.getSystemService(ActivityManager.class);
        return am.isLowRamDevice() ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
    }

    @Override
+3 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.notification;

import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;

import android.app.ActivityManager;
import android.content.Context;
import android.provider.Settings;

@@ -48,7 +49,8 @@ public class BubbleSummaryNotificationPreferenceController extends BasePreferenc

    @Override
    public int getAvailabilityStatus() {
        return AVAILABLE;
        ActivityManager am = mContext.getSystemService(ActivityManager.class);
        return am.isLowRamDevice() ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
    }

    private boolean areBubblesEnabled() {
+3 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.notification.app;
import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;

import android.app.ActivityManager;
import android.annotation.Nullable;
import android.content.Context;
import android.provider.Settings;
@@ -139,7 +140,8 @@ public class BubblePreferenceController extends NotificationPreferenceController
    }

    private boolean isGloballyEnabled() {
        return Settings.Global.getInt(mContext.getContentResolver(),
        ActivityManager am = mContext.getSystemService(ActivityManager.class);
        return !am.isLowRamDevice() && Settings.Global.getInt(mContext.getContentResolver(),
                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF) == SYSTEM_WIDE_ON;
    }

+3 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;

import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
@@ -99,7 +100,8 @@ public class BubbleSummaryPreferenceController extends NotificationPreferenceCon
    }

    private boolean isGloballyEnabled() {
        return Settings.Global.getInt(mContext.getContentResolver(),
        ActivityManager am = mContext.getSystemService(ActivityManager.class);
        return !am.isLowRamDevice() && Settings.Global.getInt(mContext.getContentResolver(),
                NOTIFICATION_BUBBLES, ON) == ON;
    }
}
+16 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.notification;
import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;

import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
import static com.android.settings.notification.BadgingNotificationPreferenceController.OFF;
import static com.android.settings.notification.BadgingNotificationPreferenceController.ON;

@@ -29,6 +30,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.app.ActivityManager;
import android.content.Context;
import android.provider.Settings;

@@ -44,6 +46,8 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowActivityManager;

@RunWith(RobolectricTestRunner.class)
public class BubbleNotificationPreferenceControllerTest {
@@ -69,7 +73,18 @@ public class BubbleNotificationPreferenceControllerTest {
    }

    @Test
    public void getAvilabilityStatus_returnsAvailable() {
    public void isAvailable_lowRam_returnsUnsupported() {
        final ShadowActivityManager activityManager =
               Shadow.extract(mContext.getSystemService(ActivityManager.class));
        activityManager.setIsLowRamDevice(true);
        assertEquals(UNSUPPORTED_ON_DEVICE, mController.getAvailabilityStatus());
    }

    @Test
    public void isAvailable_notLowRam_returnsAvailable() {
        final ShadowActivityManager activityManager =
               Shadow.extract(mContext.getSystemService(ActivityManager.class));
        activityManager.setIsLowRamDevice(false);
        assertEquals(AVAILABLE, mController.getAvailabilityStatus());
    }

Loading