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

Commit 8938932a authored by Jason Monk's avatar Jason Monk
Browse files

Add some null checks to slices

It'll make developer debugging experience sooo much nicer.

Test: manual
Bug: 79773776
Change-Id: Ie0a826c5572752e2bb50db7669374a1698333770
parent 3b592910
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;


import com.android.internal.util.ArrayUtils;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.Preconditions;


import java.lang.annotation.Retention;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.RetentionPolicy;
@@ -427,6 +428,7 @@ public final class Slice implements Parcelable {
         * @see {@link SliceItem#getSubType()}
         * @see {@link SliceItem#getSubType()}
         */
         */
        public Builder addSubSlice(@NonNull Slice slice, @Nullable @SliceSubtype String subType) {
        public Builder addSubSlice(@NonNull Slice slice, @Nullable @SliceSubtype String subType) {
            Preconditions.checkNotNull(slice);
            mItems.add(new SliceItem(slice, SliceItem.FORMAT_SLICE, subType,
            mItems.add(new SliceItem(slice, SliceItem.FORMAT_SLICE, subType,
                    slice.getHints().toArray(new String[slice.getHints().size()])));
                    slice.getHints().toArray(new String[slice.getHints().size()])));
            return this;
            return this;
@@ -439,6 +441,8 @@ public final class Slice implements Parcelable {
         */
         */
        public Slice.Builder addAction(@NonNull PendingIntent action, @NonNull Slice s,
        public Slice.Builder addAction(@NonNull PendingIntent action, @NonNull Slice s,
                @Nullable @SliceSubtype String subType) {
                @Nullable @SliceSubtype String subType) {
            Preconditions.checkNotNull(action);
            Preconditions.checkNotNull(s);
            List<String> hints = s.getHints();
            List<String> hints = s.getHints();
            s.mSpec = null;
            s.mSpec = null;
            mItems.add(new SliceItem(action, s, SliceItem.FORMAT_ACTION, subType, hints.toArray(
            mItems.add(new SliceItem(action, s, SliceItem.FORMAT_ACTION, subType, hints.toArray(
@@ -464,6 +468,7 @@ public final class Slice implements Parcelable {
         */
         */
        public Builder addIcon(Icon icon, @Nullable @SliceSubtype String subType,
        public Builder addIcon(Icon icon, @Nullable @SliceSubtype String subType,
                @SliceHint List<String> hints) {
                @SliceHint List<String> hints) {
            Preconditions.checkNotNull(icon);
            mItems.add(new SliceItem(icon, SliceItem.FORMAT_IMAGE, subType, hints));
            mItems.add(new SliceItem(icon, SliceItem.FORMAT_IMAGE, subType, hints));
            return this;
            return this;
        }
        }
@@ -476,6 +481,7 @@ public final class Slice implements Parcelable {
        public Slice.Builder addRemoteInput(RemoteInput remoteInput,
        public Slice.Builder addRemoteInput(RemoteInput remoteInput,
                @Nullable @SliceSubtype String subType,
                @Nullable @SliceSubtype String subType,
                @SliceHint List<String> hints) {
                @SliceHint List<String> hints) {
            Preconditions.checkNotNull(remoteInput);
            mItems.add(new SliceItem(remoteInput, SliceItem.FORMAT_REMOTE_INPUT,
            mItems.add(new SliceItem(remoteInput, SliceItem.FORMAT_REMOTE_INPUT,
                    subType, hints));
                    subType, hints));
            return this;
            return this;
@@ -523,6 +529,7 @@ public final class Slice implements Parcelable {
         */
         */
        public Slice.Builder addBundle(Bundle bundle, @Nullable @SliceSubtype String subType,
        public Slice.Builder addBundle(Bundle bundle, @Nullable @SliceSubtype String subType,
                @SliceHint List<String> hints) {
                @SliceHint List<String> hints) {
            Preconditions.checkNotNull(bundle);
            mItems.add(new SliceItem(bundle, SliceItem.FORMAT_BUNDLE, subType,
            mItems.add(new SliceItem(bundle, SliceItem.FORMAT_BUNDLE, subType,
                    hints));
                    hints));
            return this;
            return this;