Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47c3afa1 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Check extra type before blindingly casting to Parcelable." into nyc-dev

parents 47cfac68 75aa534d
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -2614,17 +2614,18 @@ public class NotificationManagerService extends SystemService {
    private static void setPendingIntentWhitelistDuration(ActivityManagerInternal am, long duration,
            Bundle extras) {
        for (String key : extras.keySet()) {
            setPendingIntentWhitelistDuration(am, duration, extras.getParcelable(key));
            final Parcelable[] parcelableArray = extras.getParcelableArray(key);
            if (parcelableArray != null) {
                for (Parcelable parcelable: parcelableArray) {
            final Object value = extras.get(key);
            if (value instanceof Parcelable) {
                setPendingIntentWhitelistDuration(am, duration, (Parcelable) value);
            } else if (value instanceof Parcelable[]) {
                for (Parcelable parcelable : (Parcelable[]) value) {
                    setPendingIntentWhitelistDuration(am, duration, parcelable);
                }
            } else if (value instanceof List) {
                for (Object element : (List <?>) value) {
                    if (element instanceof Parcelable) {
                        setPendingIntentWhitelistDuration(am, duration, (Parcelable) element);
                    }
            final ArrayList<Parcelable> parcelableList = extras.getParcelableArrayList(key);
            if (parcelableList != null) {
                for (Parcelable parcelable: parcelableList) {
                    setPendingIntentWhitelistDuration(am, duration, parcelable);
                }
            }
        }