summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ian Pedowitz <ijpedowitz@google.com> 2015-12-11 17:18:51 -0800
committer android-build-merger <android-build-merger@google.com> 2015-12-11 17:18:51 -0800
commit19937f924e65d004855d26b4f6e356bc7a0168fa (patch)
treefab5d5cadfb9fa16a282690f0a8718967b02be0f
parentf1df0f59c174687b5f9a8ca0163fea3921915ae8 (diff)
parent911dfe8861c7d67aab738cf42455837c8a9aefa7 (diff)
Merge "DO NOT MERGE Remove more extras during notification lightening." into mnc-dr1.5-dev am: cf07154e71
am: 911dfe8861 * commit '911dfe8861c7d67aab738cf42455837c8a9aefa7': DO NOT MERGE Remove more extras during notification lightening.
-rw-r--r--core/java/android/app/Notification.java23
1 files changed, 18 insertions, 5 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 4acfa294b289..014c069a7da8 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -45,6 +45,7 @@ import android.os.UserHandle;
import android.text.TextUtils;
import android.util.Log;
import android.util.MathUtils;
+import android.util.SparseArray;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
@@ -62,6 +63,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
+import java.util.Set;
/**
* A class that represents how a persistent notification is to be presented to
@@ -1603,13 +1606,23 @@ public class Notification implements Parcelable
bigContentView = null;
headsUpContentView = null;
mLargeIcon = null;
- if (extras != null) {
- extras.remove(Notification.EXTRA_LARGE_ICON);
- extras.remove(Notification.EXTRA_LARGE_ICON_BIG);
- extras.remove(Notification.EXTRA_PICTURE);
- extras.remove(Notification.EXTRA_BIG_TEXT);
+ if (extras != null && !extras.isEmpty()) {
// Prevent light notifications from being rebuilt.
extras.remove(Builder.EXTRA_NEEDS_REBUILD);
+ final Set<String> keyset = extras.keySet();
+ final int N = keyset.size();
+ final String[] keys = keyset.toArray(new String[N]);
+ for (int i=0; i<N; i++) {
+ final String key = keys[i];
+ final Object obj = extras.get(key);
+ if (obj != null &&
+ ( obj instanceof Parcelable
+ || obj instanceof Parcelable[]
+ || obj instanceof SparseArray
+ || obj instanceof ArrayList)) {
+ extras.remove(key);
+ }
+ }
}
}