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

Commit e4368e19 authored by Cecilia's avatar Cecilia
Browse files

Modify Smartspace UI templates APIs.

1. Add a SmartspaceText class to warp CharSequence with the info of TrunctAtPosition;
2. Add a field shouldTint to SmartspaceIcon.

Test: atest CtsSmartspaceServiceTestCases
Bug: 213926964
CTS-Coverage-Bug: 214471292
Change-Id: If9352fcced3db4e398d49dae8ff17f86f5765b47
parent 6927948d
Loading
Loading
Loading
Loading
+45 −28
Original line number Diff line number Diff line
@@ -1940,9 +1940,9 @@ package android.app.smartspace.uitemplatedata {
  public static final class SmartspaceCarouselUiTemplateData.CarouselItem implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getImage();
    method @Nullable public CharSequence getLowerText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getLowerText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getTapAction();
    method @Nullable public CharSequence getUpperText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getUpperText();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem> CREATOR;
  }
@@ -1951,9 +1951,9 @@ package android.app.smartspace.uitemplatedata {
    ctor public SmartspaceCarouselUiTemplateData.CarouselItem.Builder();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem.Builder setImage(@Nullable android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem.Builder setLowerText(@Nullable CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem.Builder setLowerText(@Nullable android.app.smartspace.uitemplatedata.SmartspaceText);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem.Builder setTapAction(@Nullable android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem.Builder setUpperText(@Nullable CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem.Builder setUpperText(@Nullable android.app.smartspace.uitemplatedata.SmartspaceText);
  }
  public final class SmartspaceCombinedCardsUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
@@ -1969,15 +1969,15 @@ package android.app.smartspace.uitemplatedata {
  public class SmartspaceDefaultUiTemplateData implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getPrimaryTapAction();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getSubTitleIcon();
    method @Nullable public CharSequence getSubtitleText();
    method @Nullable public CharSequence getSupplementalAlarmText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getSubtitleIcon();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getSubtitleText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getSupplementalAlarmText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getSupplementalSubtitleIcon();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getSupplementalSubtitleTapAction();
    method @Nullable public CharSequence getSupplementalSubtitleText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getSupplementalSubtitleText();
    method public int getTemplateType();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getTitleIcon();
    method @Nullable public CharSequence getTitleText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getTitleText();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData> CREATOR;
  }
@@ -1986,23 +1986,23 @@ package android.app.smartspace.uitemplatedata {
    ctor public SmartspaceDefaultUiTemplateData.Builder(int);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setPrimaryTapAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSubTitleIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSubtitleText(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalAlarmText(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSubtitleIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSubtitleText(@NonNull android.app.smartspace.uitemplatedata.SmartspaceText);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalAlarmText(@NonNull android.app.smartspace.uitemplatedata.SmartspaceText);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalSubtitleIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalSubtitleTapAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalSubtitleText(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalSubtitleText(@NonNull android.app.smartspace.uitemplatedata.SmartspaceText);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setTitleIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setTitleText(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setTitleText(@NonNull android.app.smartspace.uitemplatedata.SmartspaceText);
  }
  public final class SmartspaceHeadToHeadUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getHeadToHeadAction();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getHeadToHeadFirstCompetitorIcon();
    method @Nullable public CharSequence getHeadToHeadFirstCompetitorText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getHeadToHeadFirstCompetitorText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getHeadToHeadSecondCompetitorIcon();
    method @Nullable public CharSequence getHeadToHeadSecondCompetitorText();
    method @Nullable public CharSequence getHeadToHeadTitle();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getHeadToHeadSecondCompetitorText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getHeadToHeadTitle();
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData> CREATOR;
  }
@@ -2011,16 +2011,17 @@ package android.app.smartspace.uitemplatedata {
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadAction(@Nullable android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadFirstCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadFirstCompetitorText(@Nullable CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadFirstCompetitorText(@Nullable android.app.smartspace.uitemplatedata.SmartspaceText);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadSecondCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadTitle(@Nullable CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable android.app.smartspace.uitemplatedata.SmartspaceText);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadTitle(@Nullable android.app.smartspace.uitemplatedata.SmartspaceText);
  }
  public final class SmartspaceIcon implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public CharSequence getContentDescription();
    method @NonNull public android.graphics.drawable.Icon getIcon();
    method public boolean shouldTint();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceIcon> CREATOR;
  }
@@ -2029,46 +2030,47 @@ package android.app.smartspace.uitemplatedata {
    ctor public SmartspaceIcon.Builder(@NonNull android.graphics.drawable.Icon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceIcon build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceIcon.Builder setContentDescription(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceIcon.Builder setShouldTint(boolean);
  }
  public final class SmartspaceSubCardUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getSubCardAction();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceIcon getSubCardIcon();
    method @Nullable public CharSequence getSubCardText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getSubCardText();
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData> CREATOR;
  }
  public static final class SmartspaceSubCardUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
    ctor public SmartspaceSubCardUiTemplateData.Builder(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData.Builder setSubCardAction(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData.Builder setSubCardAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData.Builder setSubCardText(@NonNull android.app.smartspace.uitemplatedata.SmartspaceText);
  }
  public final class SmartspaceSubImageUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getSubImageAction();
    method @NonNull public java.util.List<java.lang.CharSequence> getSubImageTexts();
    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.SmartspaceText> getSubImageTexts();
    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.SmartspaceIcon> getSubImages();
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceSubImageUiTemplateData> CREATOR;
  }
  public static final class SmartspaceSubImageUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
    ctor public SmartspaceSubImageUiTemplateData.Builder(@NonNull java.util.List<java.lang.CharSequence>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.SmartspaceIcon>);
    ctor public SmartspaceSubImageUiTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.SmartspaceText>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.SmartspaceIcon>);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubImageUiTemplateData build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubImageUiTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubImageUiTemplateData.Builder setSubImageAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
  }
  public final class SmartspaceSubListUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getSubListAction();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getSubListIcon();
    method @NonNull public java.util.List<java.lang.CharSequence> getSubListTexts();
    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.SmartspaceText> getSubListTexts();
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData> CREATOR;
  }
  public static final class SmartspaceSubListUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
    ctor public SmartspaceSubListUiTemplateData.Builder(@NonNull java.util.List<java.lang.CharSequence>);
    ctor public SmartspaceSubListUiTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.SmartspaceText>);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData.Builder setSubListAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
  }
@@ -2092,6 +2094,21 @@ package android.app.smartspace.uitemplatedata {
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceTapAction.Builder setUserHandle(@Nullable android.os.UserHandle);
  }
  public final class SmartspaceText implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public CharSequence getText();
    method @NonNull public android.text.TextUtils.TruncateAt getTruncateAtType();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceText> CREATOR;
  }
  public static final class SmartspaceText.Builder {
    ctor public SmartspaceText.Builder(@NonNull CharSequence);
    ctor public SmartspaceText.Builder(@NonNull CharSequence, @NonNull android.text.TextUtils.TruncateAt);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceText build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceText.Builder setTruncateAtType(@NonNull android.text.TextUtils.TruncateAt);
  }
}
package android.app.time {
+15 −1
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package android.app.smartspace;

import android.annotation.Nullable;
import android.app.smartspace.uitemplatedata.SmartspaceText;
import android.text.TextUtils;

/**
 * Utilities for Smartspace data.
@@ -28,10 +30,22 @@ public final class SmartspaceUtils {
    private SmartspaceUtils() {
    }

    /** Returns true if the passed in {@link SmartspaceText} is null or its content is empty. */
    public static boolean isEmpty(@Nullable SmartspaceText text) {
        return text == null || TextUtils.isEmpty(text.getText());
    }

    /** Returns true if the passed-in {@link SmartspaceText}s are equal. */
    public static boolean isEqual(@Nullable SmartspaceText text1, @Nullable SmartspaceText text2) {
        if (text1 == null && text2 == null) return true;
        if (text1 == null || text2 == null) return false;
        return text1.equals(text2);
    }

    /** Returns true if the passed-in {@link CharSequence}s are equal. */
    public static boolean isEqual(@Nullable CharSequence cs1, @Nullable CharSequence cs2) {
        if ((cs1 == null && cs2 != null) || (cs1 != null && cs2 == null)) return false;
        if (cs1 == null && cs2 == null) return true;
        if (cs1 == null || cs2 == null) return false;
        return cs1.toString().contentEquals(cs2);
    }
}
+23 −23
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.app.smartspace.SmartspaceTarget;
import android.app.smartspace.SmartspaceUtils;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;

import java.util.List;
import java.util.Objects;
@@ -51,15 +50,15 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
    }

    private SmartspaceCarouselUiTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
            @Nullable CharSequence titleText,
            @Nullable SmartspaceText titleText,
            @Nullable SmartspaceIcon titleIcon,
            @Nullable CharSequence subtitleText,
            @Nullable SmartspaceText subtitleText,
            @Nullable SmartspaceIcon subTitleIcon,
            @Nullable SmartspaceTapAction primaryTapAction,
            @Nullable CharSequence supplementalSubtitleText,
            @Nullable SmartspaceText supplementalSubtitleText,
            @Nullable SmartspaceIcon supplementalSubtitleIcon,
            @Nullable SmartspaceTapAction supplementalSubtitleTapAction,
            @Nullable CharSequence supplementalAlarmText,
            @Nullable SmartspaceText supplementalAlarmText,
            @NonNull List<CarouselItem> carouselItems,
            @Nullable SmartspaceTapAction carouselAction) {
        super(templateType, titleText, titleIcon, subtitleText, subTitleIcon, primaryTapAction,
@@ -170,11 +169,11 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
            if (mCarouselItems.isEmpty()) {
                throw new IllegalStateException("Carousel data is empty");
            }

            return new SmartspaceCarouselUiTemplateData(getTemplateType(), getTitleText(),
                    getTitleIcon(), getSubtitleText(), getSubTitleIcon(), getPrimaryTapAction(),
                    getTitleIcon(), getSubtitleText(), getSubtitleIcon(), getPrimaryTapAction(),
                    getSupplementalSubtitleText(), getSupplementalSubtitleIcon(),
                    getSupplementalSubtitleTapAction(), getSupplementalAlarmText(),
                    mCarouselItems,
                    getSupplementalSubtitleTapAction(), getSupplementalAlarmText(), mCarouselItems,
                    mCarouselAction);
        }
    }
@@ -184,7 +183,7 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT

        /** Text which is above the image item. */
        @Nullable
        private final CharSequence mUpperText;
        private final SmartspaceText mUpperText;

        /** Image item. Can be empty. */
        @Nullable
@@ -192,7 +191,7 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT

        /** Text which is under the image item. */
        @Nullable
        private final CharSequence mLowerText;
        private final SmartspaceText mLowerText;

        /**
         * Tap action for this {@link CarouselItem} instance. {@code mCarouselAction} is used if not
@@ -202,14 +201,14 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
        private final SmartspaceTapAction mTapAction;

        CarouselItem(@NonNull Parcel in) {
            mUpperText = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
            mUpperText = in.readTypedObject(SmartspaceText.CREATOR);
            mImage = in.readTypedObject(SmartspaceIcon.CREATOR);
            mLowerText = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
            mLowerText = in.readTypedObject(SmartspaceText.CREATOR);
            mTapAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
        }

        private CarouselItem(@Nullable CharSequence upperText, @Nullable SmartspaceIcon image,
                @Nullable CharSequence lowerText, @Nullable SmartspaceTapAction tapAction) {
        private CarouselItem(@Nullable SmartspaceText upperText, @Nullable SmartspaceIcon image,
                @Nullable SmartspaceText lowerText, @Nullable SmartspaceTapAction tapAction) {
            mUpperText = upperText;
            mImage = image;
            mLowerText = lowerText;
@@ -217,7 +216,7 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
        }

        @Nullable
        public CharSequence getUpperText() {
        public SmartspaceText getUpperText() {
            return mUpperText;
        }

@@ -227,7 +226,7 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
        }

        @Nullable
        public CharSequence getLowerText() {
        public SmartspaceText getLowerText() {
            return mLowerText;
        }

@@ -260,9 +259,9 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT

        @Override
        public void writeToParcel(@NonNull Parcel out, int flags) {
            TextUtils.writeToParcel(mUpperText, out, flags);
            out.writeTypedObject(mUpperText, flags);
            out.writeTypedObject(mImage, flags);
            TextUtils.writeToParcel(mLowerText, out, flags);
            out.writeTypedObject(mLowerText, flags);
            out.writeTypedObject(mTapAction, flags);
        }

@@ -300,16 +299,16 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
        @SystemApi
        public static final class Builder {

            private CharSequence mUpperText;
            private SmartspaceText mUpperText;
            private SmartspaceIcon mImage;
            private CharSequence mLowerText;
            private SmartspaceText mLowerText;
            private SmartspaceTapAction mTapAction;

            /**
             * Sets the upper text.
             */
            @NonNull
            public Builder setUpperText(@Nullable CharSequence upperText) {
            public Builder setUpperText(@Nullable SmartspaceText upperText) {
                mUpperText = upperText;
                return this;
            }
@@ -328,7 +327,7 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
             * Sets the lower text.
             */
            @NonNull
            public Builder setLowerText(@Nullable CharSequence lowerText) {
            public Builder setLowerText(@Nullable SmartspaceText lowerText) {
                mLowerText = lowerText;
                return this;
            }
@@ -349,7 +348,8 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
             */
            @NonNull
            public CarouselItem build() {
                if (TextUtils.isEmpty(mUpperText) && mImage == null && TextUtils.isEmpty(
                if (SmartspaceUtils.isEmpty(mUpperText) && mImage == null
                        && SmartspaceUtils.isEmpty(
                        mLowerText)) {
                    throw new IllegalStateException("Carousel data is empty");
                }
+5 −5

File changed.

Preview size limit exceeded, changes collapsed.

+54 −54

File changed.

Preview size limit exceeded, changes collapsed.

Loading