diff options
| author | 2015-12-11 17:18:51 -0800 | |
|---|---|---|
| committer | 2015-12-11 17:18:51 -0800 | |
| commit | 19937f924e65d004855d26b4f6e356bc7a0168fa (patch) | |
| tree | fab5d5cadfb9fa16a282690f0a8718967b02be0f | |
| parent | f1df0f59c174687b5f9a8ca0163fea3921915ae8 (diff) | |
| parent | 911dfe8861c7d67aab738cf42455837c8a9aefa7 (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.java | 23 |
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); + } + } } } |