summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorRajeev Kumar <rajekumar@google.com>2020-02-04 19:54:30 -0800
committerRajeev Kumar <rajekumar@google.com>2020-02-18 15:50:27 -0800
commitbc79dcd87b95f4332d9319dd2230f18f49dcf9cb (patch)
tree9c6a637397ce13d057a891d8c40237d5de1dd8d3 /core/java
parentb1fa029b6cb34df643a1c42aa35e14029246b34f (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')
-rw-r--r--core/java/android/app/Notification.java21
-rw-r--r--core/java/android/app/NotificationManager.java5
-rw-r--r--core/java/android/service/notification/ConditionProviderService.java2
-rw-r--r--core/java/android/service/notification/NotificationListenerService.java4
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;
* &lt;/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>