From 3b84812271cda2386557979503c29f3c530b7f90 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Fri, 26 Feb 2016 10:45:32 -0500 Subject: [PATCH] Api review: Notification.Builder Bug: 27364889 Change-Id: I95cee3336f1adb64e37e71a9ab40e68feb1d9c5b --- api/current.txt | 6 +++--- api/system-current.txt | 6 +++--- api/test-current.txt | 6 +++--- core/java/android/app/Notification.java | 22 ++++++++++++---------- .../notification/NotificationListenerService.java | 7 +++---- .../systemui/statusbar/NotificationData.java | 12 ++++++------ 6 files changed, 30 insertions(+), 29 deletions(-) diff --git a/api/current.txt b/api/current.txt index 95c43b2d9a31..3adf222a5935 100644 --- a/api/current.txt +++ b/api/current.txt @@ -5049,12 +5049,12 @@ package android.app { method public android.app.Notification.Builder addExtras(android.os.Bundle); method public android.app.Notification.Builder addPerson(java.lang.String); method public android.app.Notification build(); + method public android.widget.RemoteViews createBigContentView(); + method public android.widget.RemoteViews createContentView(); + method public android.widget.RemoteViews createHeadsUpContentView(); method public android.app.Notification.Builder extend(android.app.Notification.Extender); method public android.os.Bundle getExtras(); method public deprecated android.app.Notification getNotification(); - method public android.widget.RemoteViews makeBigContentView(); - method public android.widget.RemoteViews makeContentView(); - method public android.widget.RemoteViews makeHeadsUpContentView(); method public static android.app.Notification.Builder recoverBuilder(android.content.Context, android.app.Notification); method public android.app.Notification.Builder setActions(android.app.Notification.Action...); method public android.app.Notification.Builder setAutoCancel(boolean); diff --git a/api/system-current.txt b/api/system-current.txt index 47c642f2eb24..81a3e8937e1a 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5181,12 +5181,12 @@ package android.app { method public android.app.Notification.Builder addExtras(android.os.Bundle); method public android.app.Notification.Builder addPerson(java.lang.String); method public android.app.Notification build(); + method public android.widget.RemoteViews createBigContentView(); + method public android.widget.RemoteViews createContentView(); + method public android.widget.RemoteViews createHeadsUpContentView(); method public android.app.Notification.Builder extend(android.app.Notification.Extender); method public android.os.Bundle getExtras(); method public deprecated android.app.Notification getNotification(); - method public android.widget.RemoteViews makeBigContentView(); - method public android.widget.RemoteViews makeContentView(); - method public android.widget.RemoteViews makeHeadsUpContentView(); method public static android.app.Notification.Builder recoverBuilder(android.content.Context, android.app.Notification); method public android.app.Notification.Builder setActions(android.app.Notification.Action...); method public android.app.Notification.Builder setAutoCancel(boolean); diff --git a/api/test-current.txt b/api/test-current.txt index 7a9557c2744f..be69fa69d73c 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -5049,12 +5049,12 @@ package android.app { method public android.app.Notification.Builder addExtras(android.os.Bundle); method public android.app.Notification.Builder addPerson(java.lang.String); method public android.app.Notification build(); + method public android.widget.RemoteViews createBigContentView(); + method public android.widget.RemoteViews createContentView(); + method public android.widget.RemoteViews createHeadsUpContentView(); method public android.app.Notification.Builder extend(android.app.Notification.Extender); method public android.os.Bundle getExtras(); method public deprecated android.app.Notification getNotification(); - method public android.widget.RemoteViews makeBigContentView(); - method public android.widget.RemoteViews makeContentView(); - method public android.widget.RemoteViews makeHeadsUpContentView(); method public static android.app.Notification.Builder recoverBuilder(android.content.Context, android.app.Notification); method public android.app.Notification.Builder setActions(android.app.Notification.Action...); method public android.app.Notification.Builder setAutoCancel(boolean); diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index d98c7179888f..aa5e1929b8fe 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -21,7 +21,6 @@ import android.annotation.DrawableRes; import android.annotation.IntDef; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; -import android.annotation.SystemApi; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -65,7 +64,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.Objects; import java.util.Set; /** @@ -3258,7 +3256,7 @@ public class Notification implements Parcelable * 2. Style's proposed content view * 3. Standard template view */ - public RemoteViews makeContentView() { + public RemoteViews createContentView() { if (mN.contentView != null && (mStyle == null || !mStyle.displayCustomViewInline())) { return mN.contentView; } else if (mStyle != null) { @@ -3273,7 +3271,7 @@ public class Notification implements Parcelable /** * Construct a RemoteViews for the final big notification layout. */ - public RemoteViews makeBigContentView() { + public RemoteViews createBigContentView() { RemoteViews result = null; if (mN.bigContentView != null && (mStyle == null || !mStyle.displayCustomViewInline())) { @@ -3316,7 +3314,7 @@ public class Notification implements Parcelable /** * Construct a RemoteViews for the final heads-up notification layout. */ - public RemoteViews makeHeadsUpContentView() { + public RemoteViews createHeadsUpContentView() { if (mN.headsUpContentView != null && (mStyle == null || !mStyle.displayCustomViewInline())) { return mN.headsUpContentView; @@ -3329,7 +3327,6 @@ public class Notification implements Parcelable return null; } - return applyStandardTemplateWithActions(getBigBaseLayoutResource()); } @@ -3341,7 +3338,7 @@ public class Notification implements Parcelable public RemoteViews makePublicContentView() { if (mN.publicVersion != null) { final Builder builder = recoverBuilder(mContext, mN.publicVersion); - return builder.makeContentView(); + return builder.createContentView(); } Bundle savedBundle = mN.extras; Style style = mStyle; @@ -3464,6 +3461,11 @@ public class Notification implements Parcelable return mN; } + /** + * Creates a Builder from an existing notification so further changes can be made. + * @param context The context for your application / activity. + * @param n The notification to create a Builder from. + */ public static Notification.Builder recoverBuilder(Context context, Notification n) { // Re-create notification context so we can access app resources. ApplicationInfo applicationInfo = n.extras.getParcelable( @@ -3525,19 +3527,19 @@ public class Notification implements Parcelable if (mContext.getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.N) { if (mN.contentView == null) { - mN.contentView = makeContentView(); + mN.contentView = createContentView(); mN.extras.putInt(EXTRA_REBUILD_CONTENT_VIEW_ACTION_COUNT, mN.contentView.getSequenceNumber()); } if (mN.bigContentView == null) { - mN.bigContentView = makeBigContentView(); + mN.bigContentView = createBigContentView(); if (mN.bigContentView != null) { mN.extras.putInt(EXTRA_REBUILD_BIG_CONTENT_VIEW_ACTION_COUNT, mN.bigContentView.getSequenceNumber()); } } if (mN.headsUpContentView == null) { - mN.headsUpContentView = makeHeadsUpContentView(); + mN.headsUpContentView = createHeadsUpContentView(); if (mN.headsUpContentView != null) { mN.extras.putInt(EXTRA_REBUILD_HEADS_UP_CONTENT_VIEW_ACTION_COUNT, mN.headsUpContentView.getSequenceNumber()); diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java index 53c92bf6e7ce..d690bb488a12 100644 --- a/core/java/android/service/notification/NotificationListenerService.java +++ b/core/java/android/service/notification/NotificationListenerService.java @@ -15,7 +15,6 @@ */ package android.service.notification; -import android.service.notification.IStatusBarNotificationHolder; import android.annotation.SystemApi; import android.annotation.SdkConstant; @@ -752,9 +751,9 @@ public abstract class NotificationListenerService extends Service { private void maybePopulateRemoteViews(Notification notification) { if (getContext().getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.N) { Builder builder = Builder.recoverBuilder(getContext(), notification); - notification.contentView = builder.makeContentView(); - notification.bigContentView = builder.makeBigContentView(); - notification.headsUpContentView = builder.makeHeadsUpContentView(); + notification.contentView = builder.createContentView(); + notification.bigContentView = builder.createBigContentView(); + notification.headsUpContentView = builder.createHeadsUpContentView(); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java index e300614da268..7cb91279b00a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java @@ -111,11 +111,11 @@ public class NotificationData { if (updatedNotification != null) { final Notification.Builder updatedNotificationBuilder = Notification.Builder.recoverBuilder(ctx, updatedNotification); - final RemoteViews newContentView = updatedNotificationBuilder.makeContentView(); + final RemoteViews newContentView = updatedNotificationBuilder.createContentView(); final RemoteViews newBigContentView = - updatedNotificationBuilder.makeBigContentView(); + updatedNotificationBuilder.createBigContentView(); final RemoteViews newHeadsUpContentView = - updatedNotificationBuilder.makeHeadsUpContentView(); + updatedNotificationBuilder.createHeadsUpContentView(); final RemoteViews newPublicNotification = updatedNotificationBuilder.makePublicContentView(); @@ -137,9 +137,9 @@ public class NotificationData { final Notification.Builder builder = Notification.Builder.recoverBuilder(ctx, notification.getNotification()); - cachedContentView = builder.makeContentView(); - cachedBigContentView = builder.makeBigContentView(); - cachedHeadsUpContentView = builder.makeHeadsUpContentView(); + cachedContentView = builder.createContentView(); + cachedBigContentView = builder.createBigContentView(); + cachedHeadsUpContentView = builder.createHeadsUpContentView(); cachedPublicContentView = builder.makePublicContentView(); applyInPlace = false; -- 2.11.0