Merge "Allow DND screens on low ram devices" into rvc-qpr-dev am: 74c6c21b96
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12294001 Change-Id: I1e318a02298759aa95d71459508273d7985a2696
This commit is contained in:
@@ -40,20 +40,13 @@ public class ZenAccessController extends BasePreferenceController {
|
|||||||
|
|
||||||
private static final String TAG = "ZenAccessController";
|
private static final String TAG = "ZenAccessController";
|
||||||
|
|
||||||
private final ActivityManager mActivityManager;
|
|
||||||
|
|
||||||
public ZenAccessController(Context context, String preferenceKey) {
|
public ZenAccessController(Context context, String preferenceKey) {
|
||||||
super(context, preferenceKey);
|
super(context, preferenceKey);
|
||||||
mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return isSupported(mActivityManager) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
return AVAILABLE;
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isSupported(ActivityManager activityManager) {
|
|
||||||
return !activityManager.isLowRamDevice();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Set<String> getPackagesRequestingNotificationPolicyAccess() {
|
public static Set<String> getPackagesRequestingNotificationPolicyAccess() {
|
||||||
|
@@ -50,9 +50,6 @@ public class ZenAccessDetails extends AppInfoWithHeader implements
|
|||||||
@Override
|
@Override
|
||||||
protected boolean refreshUi() {
|
protected boolean refreshUi() {
|
||||||
final Context context = getContext();
|
final Context context = getContext();
|
||||||
if (!ZenAccessController.isSupported(context.getSystemService(ActivityManager.class))) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// If this app didn't declare this permission in their manifest, don't bother showing UI.
|
// If this app didn't declare this permission in their manifest, don't bother showing UI.
|
||||||
final Set<String> needAccessApps =
|
final Set<String> needAccessApps =
|
||||||
ZenAccessController.getPackagesRequestingNotificationPolicyAccess();
|
ZenAccessController.getPackagesRequestingNotificationPolicyAccess();
|
||||||
|
@@ -53,9 +53,6 @@ public class ZenAccessSettingObserverMixin extends ContentObserver implements Li
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStart() {
|
public void onStart() {
|
||||||
if (!ZenAccessController.isSupported(mContext.getSystemService(ActivityManager.class))) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
mContext.getContentResolver().registerContentObserver(
|
mContext.getContentResolver().registerContentObserver(
|
||||||
Settings.Secure.getUriFor(
|
Settings.Secure.getUriFor(
|
||||||
Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES),
|
Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES),
|
||||||
@@ -69,9 +66,6 @@ public class ZenAccessSettingObserverMixin extends ContentObserver implements Li
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStop() {
|
public void onStop() {
|
||||||
if (!ZenAccessController.isSupported(mContext.getSystemService(ActivityManager.class))) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
mContext.getContentResolver().unregisterContentObserver(this /* observer */);
|
mContext.getContentResolver().unregisterContentObserver(this /* observer */);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -62,12 +62,6 @@ public class ZenAccessControllerTest {
|
|||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void isAvailable_lowMemory_false() {
|
|
||||||
mActivityManager.setIsLowRamDevice(true);
|
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void logSpecialPermissionChange() {
|
public void logSpecialPermissionChange() {
|
||||||
ZenAccessController.logSpecialPermissionChange(true, "app", mContext);
|
ZenAccessController.logSpecialPermissionChange(true, "app", mContext);
|
||||||
|
@@ -65,27 +65,13 @@ public class ZenAccessSettingObserverMixinTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onStart_lowMemory_shouldNotRegisterListener() {
|
public void onStart_shouldRegisterListener() {
|
||||||
final ShadowActivityManager sam = Shadow.extract(
|
final ShadowActivityManager sam = Shadow.extract(
|
||||||
mContext.getSystemService(ActivityManager.class));
|
mContext.getSystemService(ActivityManager.class));
|
||||||
sam.setIsLowRamDevice(true);
|
sam.setIsLowRamDevice(true);
|
||||||
|
|
||||||
mLifecycle.handleLifecycleEvent(ON_START);
|
mLifecycle.handleLifecycleEvent(ON_START);
|
||||||
|
|
||||||
mContext.getContentResolver().notifyChange(Settings.Secure.getUriFor(
|
|
||||||
Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES), null);
|
|
||||||
|
|
||||||
verify(mListener, never()).onZenAccessPolicyChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onStart_highMemory_shouldRegisterListener() {
|
|
||||||
final ShadowActivityManager sam = Shadow.extract(
|
|
||||||
mContext.getSystemService(ActivityManager.class));
|
|
||||||
sam.setIsLowRamDevice(false);
|
|
||||||
|
|
||||||
mLifecycle.handleLifecycleEvent(ON_START);
|
|
||||||
|
|
||||||
mContext.getContentResolver().notifyChange(Settings.Secure.getUriFor(
|
mContext.getContentResolver().notifyChange(Settings.Secure.getUriFor(
|
||||||
Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES), null);
|
Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES), null);
|
||||||
|
|
||||||
@@ -94,10 +80,6 @@ public class ZenAccessSettingObserverMixinTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onStop_shouldUnregisterListener() {
|
public void onStop_shouldUnregisterListener() {
|
||||||
final ShadowActivityManager sam = Shadow.extract(
|
|
||||||
mContext.getSystemService(ActivityManager.class));
|
|
||||||
sam.setIsLowRamDevice(false);
|
|
||||||
|
|
||||||
mLifecycle.handleLifecycleEvent(ON_START);
|
mLifecycle.handleLifecycleEvent(ON_START);
|
||||||
mLifecycle.handleLifecycleEvent(ON_STOP);
|
mLifecycle.handleLifecycleEvent(ON_STOP);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user