diff options
| author | Rajeev Kumar <rajekumar@google.com> | 2020-02-04 19:54:30 -0800 |
|---|---|---|
| committer | Rajeev Kumar <rajekumar@google.com> | 2020-02-18 15:50:27 -0800 |
| commit | bc79dcd87b95f4332d9319dd2230f18f49dcf9cb (patch) | |
| tree | 9c6a637397ce13d057a891d8c40237d5de1dd8d3 /core/java | |
| parent | b1fa029b6cb34df643a1c42aa35e14029246b34f (diff) | |
Framework changes to enable Notification listeners on Android Go.
Bug: 148575561
Test: atest
com.android.server.notification.NotificationManagerServiceTest, atest com.android.server.notification.NotificationTest
Change-Id: I1b24b2c8e9c6dd96dcd7be209bae2df7c0ed76b5
Diffstat (limited to 'core/java')
4 files changed, 8 insertions, 24 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 576b56fa33f6..32e7d84e6083 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -6046,21 +6046,18 @@ public class Notification implements Parcelable /** * Removes RemoteViews that were created for compatibility from {@param n}, if they did not - * change. Also removes extenders on low ram devices, as - * {@link android.service.notification.NotificationListenerService} services are disabled. + * change. * * @return {@param n}, if no stripping is needed, otherwise a stripped clone of {@param n}. * * @hide */ - public static Notification maybeCloneStrippedForDelivery(Notification n, boolean isLowRam, - Context context) { + public static Notification maybeCloneStrippedForDelivery(Notification n) { String templateClass = n.extras.getString(EXTRA_TEMPLATE); // Only strip views for known Styles because we won't know how to // re-create them otherwise. - if (!isLowRam - && !TextUtils.isEmpty(templateClass) + if (!TextUtils.isEmpty(templateClass) && getNotificationStyleClass(templateClass) == null) { return n; } @@ -6077,8 +6074,7 @@ public class Notification implements Parcelable n.headsUpContentView.getSequenceNumber(); // Nothing to do here, no need to clone. - if (!isLowRam - && !stripContentView && !stripBigContentView && !stripHeadsUpContentView) { + if (!stripContentView && !stripBigContentView && !stripHeadsUpContentView) { return n; } @@ -6095,15 +6091,6 @@ public class Notification implements Parcelable clone.headsUpContentView = null; clone.extras.remove(EXTRA_REBUILD_HEADS_UP_CONTENT_VIEW_ACTION_COUNT); } - if (isLowRam) { - String[] allowedServices = context.getResources().getStringArray( - R.array.config_allowedManagedServicesOnLowRamDevices); - if (allowedServices.length == 0) { - clone.extras.remove(Notification.TvExtender.EXTRA_TV_EXTENDER); - clone.extras.remove(WearableExtender.EXTRA_WEARABLE_EXTENSIONS); - clone.extras.remove(CarExtender.EXTRA_CAR_EXTENDER); - } - } return clone; } diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java index 528b508cecb1..88edb05ba968 100644 --- a/core/java/android/app/NotificationManager.java +++ b/core/java/android/app/NotificationManager.java @@ -592,10 +592,7 @@ public class NotificationManager { } notification.reduceImageSizes(mContext); - - ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); - boolean isLowRam = am.isLowRamDevice(); - return Builder.maybeCloneStrippedForDelivery(notification, isLowRam, mContext); + return Builder.maybeCloneStrippedForDelivery(notification); } private void fixLegacySmallIcon(Notification n, String pkg) { diff --git a/core/java/android/service/notification/ConditionProviderService.java b/core/java/android/service/notification/ConditionProviderService.java index 7d3b13bec2f6..f37e01d1a402 100644 --- a/core/java/android/service/notification/ConditionProviderService.java +++ b/core/java/android/service/notification/ConditionProviderService.java @@ -58,7 +58,7 @@ import android.util.Log; * </service></pre> * * <p> Condition providers cannot be bound by the system on - * {@link ActivityManager#isLowRamDevice() low ram} devices</p> + * {@link ActivityManager#isLowRamDevice() low ram} devices running Android Q (and below)</p> * * @deprecated Instead of using an automatically bound service, use * {@link android.app.NotificationManager#setAutomaticZenRuleState(String, Condition)} to tell the diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java index 0ff2e0386121..6562572d0121 100644 --- a/core/java/android/service/notification/NotificationListenerService.java +++ b/core/java/android/service/notification/NotificationListenerService.java @@ -86,8 +86,8 @@ import java.util.Objects; * or after {@link #onListenerDisconnected()}. * </p> * <p> Notification listeners cannot get notification access or be bound by the system on - * {@linkplain ActivityManager#isLowRamDevice() low-RAM} devices. The system also ignores - * notification listeners running in a work profile. A + * {@linkplain ActivityManager#isLowRamDevice() low-RAM} devices running Android Q (and below). + * The system also ignores notification listeners running in a work profile. A * {@link android.app.admin.DevicePolicyManager} might block notifications originating from a work * profile.</p> * <p> |
