Merge "Modify the documentations for the UI template APIs"
This commit is contained in:
committed by
Android (Google) Code Review
commit
4b665b9872
@@ -2164,7 +2164,7 @@ package android.app.smartspace {
|
||||
method @Nullable public android.net.Uri getSliceUri();
|
||||
method @NonNull public String getSmartspaceTargetId();
|
||||
method @Nullable public String getSourceNotificationKey();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData getTemplateData();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData getTemplateData();
|
||||
method @NonNull public android.os.UserHandle getUserHandle();
|
||||
method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
|
||||
method public boolean isSensitive();
|
||||
@@ -2221,7 +2221,7 @@ package android.app.smartspace {
|
||||
method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
|
||||
method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
|
||||
method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
|
||||
method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setTemplateData(@Nullable android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData);
|
||||
method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setTemplateData(@Nullable android.app.smartspace.uitemplatedata.BaseTemplateData);
|
||||
method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
|
||||
}
|
||||
|
||||
@@ -2252,156 +2252,156 @@ package android.app.smartspace {
|
||||
|
||||
package android.app.smartspace.uitemplatedata {
|
||||
|
||||
public final class SmartspaceCarouselUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getCarouselAction();
|
||||
method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem> getCarouselItems();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData> CREATOR;
|
||||
}
|
||||
|
||||
public static final class SmartspaceCarouselUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
|
||||
ctor public SmartspaceCarouselUiTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem>);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
|
||||
}
|
||||
|
||||
public static final class SmartspaceCarouselUiTemplateData.CarouselItem implements android.os.Parcelable {
|
||||
public class BaseTemplateData implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getImage();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getLowerText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getTapAction();
|
||||
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;
|
||||
}
|
||||
|
||||
public static final class SmartspaceCarouselUiTemplateData.CarouselItem.Builder {
|
||||
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 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 android.app.smartspace.uitemplatedata.SmartspaceText);
|
||||
}
|
||||
|
||||
public final class SmartspaceCombinedCardsUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
|
||||
method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData> getCombinedCardDataList();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceCombinedCardsUiTemplateData> CREATOR;
|
||||
}
|
||||
|
||||
public static final class SmartspaceCombinedCardsUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
|
||||
ctor public SmartspaceCombinedCardsUiTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData>);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCombinedCardsUiTemplateData build();
|
||||
}
|
||||
|
||||
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 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 android.app.smartspace.uitemplatedata.SmartspaceText getSupplementalSubtitleText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.TapAction getPrimaryTapAction();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Icon getSubtitleIcon();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getSubtitleText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getSupplementalAlarmText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Icon getSupplementalSubtitleIcon();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSupplementalSubtitleTapAction();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getSupplementalSubtitleText();
|
||||
method public int getTemplateType();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getTitleIcon();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceText getTitleText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Icon getTitleIcon();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text 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;
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData> CREATOR;
|
||||
}
|
||||
|
||||
public static class SmartspaceDefaultUiTemplateData.Builder {
|
||||
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 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 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 android.app.smartspace.uitemplatedata.SmartspaceText);
|
||||
public static class BaseTemplateData.Builder {
|
||||
ctor public BaseTemplateData.Builder(int);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setPrimaryTapAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleText(@NonNull android.app.smartspace.uitemplatedata.Text);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalAlarmText(@NonNull android.app.smartspace.uitemplatedata.Text);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalSubtitleIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalSubtitleTapAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalSubtitleText(@NonNull android.app.smartspace.uitemplatedata.Text);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setTitleIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setTitleText(@NonNull android.app.smartspace.uitemplatedata.Text);
|
||||
}
|
||||
|
||||
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 android.app.smartspace.uitemplatedata.SmartspaceText getHeadToHeadFirstCompetitorText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getHeadToHeadSecondCompetitorIcon();
|
||||
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;
|
||||
public final class CarouselTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.TapAction getCarouselAction();
|
||||
method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> getCarouselItems();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData> CREATOR;
|
||||
}
|
||||
|
||||
public static final class SmartspaceHeadToHeadUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
|
||||
ctor public SmartspaceHeadToHeadUiTemplateData.Builder();
|
||||
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 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 android.app.smartspace.uitemplatedata.SmartspaceText);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadTitle(@Nullable android.app.smartspace.uitemplatedata.SmartspaceText);
|
||||
public static final class CarouselTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
|
||||
ctor public CarouselTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem>);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
|
||||
}
|
||||
|
||||
public final class SmartspaceIcon implements android.os.Parcelable {
|
||||
public static final class CarouselTemplateData.CarouselItem implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Icon getImage();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getLowerText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getUpperText();
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> CREATOR;
|
||||
}
|
||||
|
||||
public static final class CarouselTemplateData.CarouselItem.Builder {
|
||||
ctor public CarouselTemplateData.CarouselItem.Builder();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setImage(@Nullable android.app.smartspace.uitemplatedata.Icon);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setLowerText(@Nullable android.app.smartspace.uitemplatedata.Text);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setTapAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setUpperText(@Nullable android.app.smartspace.uitemplatedata.Text);
|
||||
}
|
||||
|
||||
public final class CombinedCardsTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
|
||||
method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData> getCombinedCardDataList();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CombinedCardsTemplateData> CREATOR;
|
||||
}
|
||||
|
||||
public static final class CombinedCardsTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
|
||||
ctor public CombinedCardsTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData>);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.CombinedCardsTemplateData build();
|
||||
}
|
||||
|
||||
public final class HeadToHeadTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.TapAction getHeadToHeadAction();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadFirstCompetitorIcon();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadFirstCompetitorText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadSecondCompetitorIcon();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadSecondCompetitorText();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadTitle();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.HeadToHeadTemplateData> CREATOR;
|
||||
}
|
||||
|
||||
public static final class HeadToHeadTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
|
||||
ctor public HeadToHeadTemplateData.Builder();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadTitle(@Nullable android.app.smartspace.uitemplatedata.Text);
|
||||
}
|
||||
|
||||
public final class Icon 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;
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Icon> CREATOR;
|
||||
}
|
||||
|
||||
public static final class SmartspaceIcon.Builder {
|
||||
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 static final class Icon.Builder {
|
||||
ctor public Icon.Builder(@NonNull android.graphics.drawable.Icon);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.Icon build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setContentDescription(@NonNull CharSequence);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.Icon.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 android.app.smartspace.uitemplatedata.SmartspaceText getSubCardText();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData> CREATOR;
|
||||
public final class SubCardTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubCardAction();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.Icon getSubCardIcon();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Text getSubCardText();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubCardTemplateData> 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 android.app.smartspace.uitemplatedata.SmartspaceTapAction);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData.Builder setSubCardText(@NonNull android.app.smartspace.uitemplatedata.SmartspaceText);
|
||||
public static final class SubCardTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
|
||||
ctor public SubCardTemplateData.Builder(@NonNull android.app.smartspace.uitemplatedata.Icon);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardText(@NonNull android.app.smartspace.uitemplatedata.Text);
|
||||
}
|
||||
|
||||
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<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 final class SubImageTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubImageAction();
|
||||
method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubImageTexts();
|
||||
method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Icon> getSubImages();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubImageTemplateData> CREATOR;
|
||||
}
|
||||
|
||||
public static final class SmartspaceSubImageUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
|
||||
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 setSubImageAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
|
||||
public static final class SubImageTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
|
||||
ctor public SubImageTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.Icon>);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData.Builder setSubImageAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
|
||||
}
|
||||
|
||||
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<android.app.smartspace.uitemplatedata.SmartspaceText> getSubListTexts();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData> CREATOR;
|
||||
public final class SubListTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubListAction();
|
||||
method @Nullable public android.app.smartspace.uitemplatedata.Icon getSubListIcon();
|
||||
method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubListTexts();
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubListTemplateData> CREATOR;
|
||||
}
|
||||
|
||||
public static final class SmartspaceSubListUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
|
||||
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 setSubListAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
|
||||
public static final class SubListTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
|
||||
ctor public SubListTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
|
||||
}
|
||||
|
||||
public final class SmartspaceTapAction implements android.os.Parcelable {
|
||||
public final class TapAction implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method @Nullable public android.os.Bundle getExtras();
|
||||
method @Nullable public CharSequence getId();
|
||||
@@ -2409,31 +2409,33 @@ package android.app.smartspace.uitemplatedata {
|
||||
method @Nullable public android.app.PendingIntent getPendingIntent();
|
||||
method @Nullable public android.os.UserHandle getUserHandle();
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceTapAction> CREATOR;
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.TapAction> CREATOR;
|
||||
}
|
||||
|
||||
public static final class SmartspaceTapAction.Builder {
|
||||
ctor public SmartspaceTapAction.Builder(@NonNull CharSequence);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceTapAction build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceTapAction.Builder setExtras(@NonNull android.os.Bundle);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceTapAction.Builder setIntent(@NonNull android.content.Intent);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceTapAction.Builder setPendingIntent(@NonNull android.app.PendingIntent);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceTapAction.Builder setUserHandle(@Nullable android.os.UserHandle);
|
||||
public static final class TapAction.Builder {
|
||||
ctor public TapAction.Builder(@NonNull CharSequence);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.TapAction build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setExtras(@NonNull android.os.Bundle);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setIntent(@NonNull android.content.Intent);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setPendingIntent(@NonNull android.app.PendingIntent);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setUserHandle(@Nullable android.os.UserHandle);
|
||||
}
|
||||
|
||||
public final class SmartspaceText implements android.os.Parcelable {
|
||||
public final class Text implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method public int getMaxLines();
|
||||
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;
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Text> 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);
|
||||
public static final class Text.Builder {
|
||||
ctor public Text.Builder(@NonNull CharSequence);
|
||||
ctor public Text.Builder(@NonNull CharSequence, @NonNull android.text.TextUtils.TruncateAt);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.Text build();
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setMaxLines(int);
|
||||
method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setTruncateAtType(@NonNull android.text.TextUtils.TruncateAt);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData;
|
||||
import android.app.smartspace.uitemplatedata.BaseTemplateData;
|
||||
import android.appwidget.AppWidgetProviderInfo;
|
||||
import android.content.ComponentName;
|
||||
import android.net.Uri;
|
||||
@@ -133,7 +133,7 @@ public final class SmartspaceTarget implements Parcelable {
|
||||
private final AppWidgetProviderInfo mWidget;
|
||||
|
||||
@Nullable
|
||||
private final SmartspaceDefaultUiTemplateData mTemplateData;
|
||||
private final BaseTemplateData mTemplateData;
|
||||
|
||||
public static final int FEATURE_UNDEFINED = 0;
|
||||
public static final int FEATURE_WEATHER = 1;
|
||||
@@ -194,15 +194,25 @@ public final class SmartspaceTarget implements Parcelable {
|
||||
}
|
||||
|
||||
public static final int UI_TEMPLATE_UNDEFINED = 0;
|
||||
// Default template whose data is represented by {@link BaseTemplateData}. The default
|
||||
// template is also a base card for the other types of templates.
|
||||
public static final int UI_TEMPLATE_DEFAULT = 1;
|
||||
// Sub-image template whose data is represented by {@link SubImageTemplateData}
|
||||
public static final int UI_TEMPLATE_SUB_IMAGE = 2;
|
||||
// Sub-list template whose data is represented by {@link SubListTemplateData}
|
||||
public static final int UI_TEMPLATE_SUB_LIST = 3;
|
||||
// Carousel template whose data is represented by {@link CarouselTemplateData}
|
||||
public static final int UI_TEMPLATE_CAROUSEL = 4;
|
||||
// Head-to-head template whose data is represented by {@link HeadToHeadTemplateData}
|
||||
public static final int UI_TEMPLATE_HEAD_TO_HEAD = 5;
|
||||
// Combined-cards template whose data is represented by {@link CombinedCardsTemplateData}
|
||||
public static final int UI_TEMPLATE_COMBINED_CARDS = 6;
|
||||
// Sub-card template whose data is represented by {@link SubCardTemplateData}
|
||||
public static final int UI_TEMPLATE_SUB_CARD = 7;
|
||||
|
||||
/**
|
||||
* The types of the Smartspace ui templates.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@IntDef(prefix = {"UI_TEMPLATE_"}, value = {
|
||||
@@ -237,7 +247,7 @@ public final class SmartspaceTarget implements Parcelable {
|
||||
this.mAssociatedSmartspaceTargetId = in.readString();
|
||||
this.mSliceUri = in.readTypedObject(Uri.CREATOR);
|
||||
this.mWidget = in.readTypedObject(AppWidgetProviderInfo.CREATOR);
|
||||
this.mTemplateData = in.readTypedObject(SmartspaceDefaultUiTemplateData.CREATOR);
|
||||
this.mTemplateData = in.readTypedObject(BaseTemplateData.CREATOR);
|
||||
}
|
||||
|
||||
private SmartspaceTarget(String smartspaceTargetId,
|
||||
@@ -248,7 +258,7 @@ public final class SmartspaceTarget implements Parcelable {
|
||||
boolean shouldShowExpanded, String sourceNotificationKey,
|
||||
ComponentName componentName, UserHandle userHandle,
|
||||
String associatedSmartspaceTargetId, Uri sliceUri,
|
||||
AppWidgetProviderInfo widget, SmartspaceDefaultUiTemplateData templateData) {
|
||||
AppWidgetProviderInfo widget, BaseTemplateData templateData) {
|
||||
mSmartspaceTargetId = smartspaceTargetId;
|
||||
mHeaderAction = headerAction;
|
||||
mBaseAction = baseAction;
|
||||
@@ -406,7 +416,7 @@ public final class SmartspaceTarget implements Parcelable {
|
||||
* Returns the UI template data.
|
||||
*/
|
||||
@Nullable
|
||||
public SmartspaceDefaultUiTemplateData getTemplateData() {
|
||||
public BaseTemplateData getTemplateData() {
|
||||
return mTemplateData;
|
||||
}
|
||||
|
||||
@@ -536,7 +546,7 @@ public final class SmartspaceTarget implements Parcelable {
|
||||
private String mAssociatedSmartspaceTargetId;
|
||||
private Uri mSliceUri;
|
||||
private AppWidgetProviderInfo mWidget;
|
||||
private SmartspaceDefaultUiTemplateData mTemplateData;
|
||||
private BaseTemplateData mTemplateData;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceTarget}.
|
||||
@@ -689,7 +699,7 @@ public final class SmartspaceTarget implements Parcelable {
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setTemplateData(
|
||||
@Nullable SmartspaceDefaultUiTemplateData templateData) {
|
||||
@Nullable BaseTemplateData templateData) {
|
||||
mTemplateData = templateData;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package android.app.smartspace;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.app.smartspace.uitemplatedata.SmartspaceText;
|
||||
import android.app.smartspace.uitemplatedata.Text;
|
||||
import android.text.TextUtils;
|
||||
|
||||
/**
|
||||
@@ -30,13 +30,13 @@ 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) {
|
||||
/** Returns true if the passed in {@link Text} is null or its content is empty. */
|
||||
public static boolean isEmpty(@Nullable Text 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) {
|
||||
/** Returns true if the passed-in {@link Text}s are equal. */
|
||||
public static boolean isEqual(@Nullable Text text1, @Nullable Text text2) {
|
||||
if (text1 == null && text2 == null) return true;
|
||||
if (text1 == null || text2 == null) return false;
|
||||
return text1.equals(text2);
|
||||
|
||||
@@ -29,12 +29,19 @@ import java.util.Objects;
|
||||
|
||||
/**
|
||||
* Holds all the relevant data needed to render a Smartspace card with the default Ui Template.
|
||||
* <ul>
|
||||
* <li> title_text (may contain a start drawable) </li>
|
||||
* <li> subtitle_text (may contain a start drawable) . supplemental_subtitle_text (may
|
||||
* contain a start drawable) </li>
|
||||
* <li> next_alarm_text (contain a start drawable) + supplemental_alarm_text .
|
||||
* do_not_disturb_view </li>
|
||||
* </ul>
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@SuppressLint("ParcelNotFinal")
|
||||
public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
public class BaseTemplateData implements Parcelable {
|
||||
|
||||
/**
|
||||
* {@link UiTemplateType} indicating the template type of this template data.
|
||||
@@ -49,17 +56,17 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* will be used, which has its own tap action applied to the title area.
|
||||
*/
|
||||
@Nullable
|
||||
private final SmartspaceText mTitleText;
|
||||
private final Text mTitleText;
|
||||
|
||||
@Nullable
|
||||
private final SmartspaceIcon mTitleIcon;
|
||||
private final Icon mTitleIcon;
|
||||
|
||||
/** Subtitle text and icon are shown at the second row. */
|
||||
@Nullable
|
||||
private final SmartspaceText mSubtitleText;
|
||||
private final Text mSubtitleText;
|
||||
|
||||
@Nullable
|
||||
private final SmartspaceIcon mSubtitleIcon;
|
||||
private final Icon mSubtitleIcon;
|
||||
|
||||
/**
|
||||
* Primary tap action for the entire card, including the blank spaces, except: 1. When title is
|
||||
@@ -67,59 +74,59 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* action if being set; 3. Secondary card uses its own tap action if being set.
|
||||
*/
|
||||
@Nullable
|
||||
private final SmartspaceTapAction mPrimaryTapAction;
|
||||
private final TapAction mPrimaryTapAction;
|
||||
|
||||
/**
|
||||
* Supplemental subtitle text and icon are shown at the second row following the subtitle text.
|
||||
* Mainly used for weather info on non-weather card.
|
||||
*/
|
||||
@Nullable
|
||||
private final SmartspaceText mSupplementalSubtitleText;
|
||||
private final Text mSupplementalSubtitleText;
|
||||
|
||||
@Nullable
|
||||
private final SmartspaceIcon mSupplementalSubtitleIcon;
|
||||
private final Icon mSupplementalSubtitleIcon;
|
||||
|
||||
/**
|
||||
* Tap action for the supplemental subtitle's text and icon. Will use the primary tap action if
|
||||
* not being set.
|
||||
*/
|
||||
@Nullable
|
||||
private final SmartspaceTapAction mSupplementalSubtitleTapAction;
|
||||
private final TapAction mSupplementalSubtitleTapAction;
|
||||
|
||||
/**
|
||||
* Supplemental alarm text is specifically used for holiday alarm, which is appended to "next
|
||||
* alarm".
|
||||
*/
|
||||
@Nullable
|
||||
private final SmartspaceText mSupplementalAlarmText;
|
||||
private final Text mSupplementalAlarmText;
|
||||
|
||||
SmartspaceDefaultUiTemplateData(@NonNull Parcel in) {
|
||||
BaseTemplateData(@NonNull Parcel in) {
|
||||
mTemplateType = in.readInt();
|
||||
mTitleText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mTitleIcon = in.readTypedObject(SmartspaceIcon.CREATOR);
|
||||
mSubtitleText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mSubtitleIcon = in.readTypedObject(SmartspaceIcon.CREATOR);
|
||||
mPrimaryTapAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
|
||||
mSupplementalSubtitleText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mSupplementalSubtitleIcon = in.readTypedObject(SmartspaceIcon.CREATOR);
|
||||
mSupplementalSubtitleTapAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
|
||||
mSupplementalAlarmText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mTitleText = in.readTypedObject(Text.CREATOR);
|
||||
mTitleIcon = in.readTypedObject(Icon.CREATOR);
|
||||
mSubtitleText = in.readTypedObject(Text.CREATOR);
|
||||
mSubtitleIcon = in.readTypedObject(Icon.CREATOR);
|
||||
mPrimaryTapAction = in.readTypedObject(TapAction.CREATOR);
|
||||
mSupplementalSubtitleText = in.readTypedObject(Text.CREATOR);
|
||||
mSupplementalSubtitleIcon = in.readTypedObject(Icon.CREATOR);
|
||||
mSupplementalSubtitleTapAction = in.readTypedObject(TapAction.CREATOR);
|
||||
mSupplementalAlarmText = in.readTypedObject(Text.CREATOR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Should ONLY used by subclasses. For the general instance creation, please use
|
||||
* SmartspaceDefaultUiTemplateData.Builder.
|
||||
*/
|
||||
SmartspaceDefaultUiTemplateData(@UiTemplateType int templateType,
|
||||
@Nullable SmartspaceText titleText,
|
||||
@Nullable SmartspaceIcon titleIcon,
|
||||
@Nullable SmartspaceText subtitleText,
|
||||
@Nullable SmartspaceIcon subtitleIcon,
|
||||
@Nullable SmartspaceTapAction primaryTapAction,
|
||||
@Nullable SmartspaceText supplementalSubtitleText,
|
||||
@Nullable SmartspaceIcon supplementalSubtitleIcon,
|
||||
@Nullable SmartspaceTapAction supplementalSubtitleTapAction,
|
||||
@Nullable SmartspaceText supplementalAlarmText) {
|
||||
BaseTemplateData(@UiTemplateType int templateType,
|
||||
@Nullable Text titleText,
|
||||
@Nullable Icon titleIcon,
|
||||
@Nullable Text subtitleText,
|
||||
@Nullable Icon subtitleIcon,
|
||||
@Nullable TapAction primaryTapAction,
|
||||
@Nullable Text supplementalSubtitleText,
|
||||
@Nullable Icon supplementalSubtitleIcon,
|
||||
@Nullable TapAction supplementalSubtitleTapAction,
|
||||
@Nullable Text supplementalAlarmText) {
|
||||
mTemplateType = templateType;
|
||||
mTitleText = titleText;
|
||||
mTitleIcon = titleIcon;
|
||||
@@ -132,53 +139,63 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
mSupplementalAlarmText = supplementalAlarmText;
|
||||
}
|
||||
|
||||
/** Returns the template type. By default is UNDEFINED. */
|
||||
@UiTemplateType
|
||||
public int getTemplateType() {
|
||||
return mTemplateType;
|
||||
}
|
||||
|
||||
/** Returns the title's text. */
|
||||
@Nullable
|
||||
public SmartspaceText getTitleText() {
|
||||
public Text getTitleText() {
|
||||
return mTitleText;
|
||||
}
|
||||
|
||||
/** Returns the title's icon. */
|
||||
@Nullable
|
||||
public SmartspaceIcon getTitleIcon() {
|
||||
public Icon getTitleIcon() {
|
||||
return mTitleIcon;
|
||||
}
|
||||
|
||||
/** Returns the subtitle's text. */
|
||||
@Nullable
|
||||
public SmartspaceText getSubtitleText() {
|
||||
public Text getSubtitleText() {
|
||||
return mSubtitleText;
|
||||
}
|
||||
|
||||
/** Returns the subtitle's icon. */
|
||||
@Nullable
|
||||
public SmartspaceIcon getSubtitleIcon() {
|
||||
public Icon getSubtitleIcon() {
|
||||
return mSubtitleIcon;
|
||||
}
|
||||
|
||||
/** Returns the card's primary tap action. */
|
||||
@Nullable
|
||||
public SmartspaceTapAction getPrimaryTapAction() {
|
||||
public TapAction getPrimaryTapAction() {
|
||||
return mPrimaryTapAction;
|
||||
}
|
||||
|
||||
/** Returns the supplemental subtitle's text. */
|
||||
@Nullable
|
||||
public SmartspaceText getSupplementalSubtitleText() {
|
||||
public Text getSupplementalSubtitleText() {
|
||||
return mSupplementalSubtitleText;
|
||||
}
|
||||
|
||||
/** Returns the supplemental subtitle's icon. */
|
||||
@Nullable
|
||||
public SmartspaceIcon getSupplementalSubtitleIcon() {
|
||||
public Icon getSupplementalSubtitleIcon() {
|
||||
return mSupplementalSubtitleIcon;
|
||||
}
|
||||
|
||||
/** Returns the supplemental subtitle's tap action. Can be null if not being set. */
|
||||
@Nullable
|
||||
public SmartspaceTapAction getSupplementalSubtitleTapAction() {
|
||||
public TapAction getSupplementalSubtitleTapAction() {
|
||||
return mSupplementalSubtitleTapAction;
|
||||
}
|
||||
|
||||
/** Returns the supplemental alarm text. */
|
||||
@Nullable
|
||||
public SmartspaceText getSupplementalAlarmText() {
|
||||
public Text getSupplementalAlarmText() {
|
||||
return mSupplementalAlarmText;
|
||||
}
|
||||
|
||||
@@ -186,16 +203,16 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* @see Parcelable.Creator
|
||||
*/
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceDefaultUiTemplateData> CREATOR =
|
||||
new Creator<SmartspaceDefaultUiTemplateData>() {
|
||||
public static final Creator<BaseTemplateData> CREATOR =
|
||||
new Creator<BaseTemplateData>() {
|
||||
@Override
|
||||
public SmartspaceDefaultUiTemplateData createFromParcel(Parcel in) {
|
||||
return new SmartspaceDefaultUiTemplateData(in);
|
||||
public BaseTemplateData createFromParcel(Parcel in) {
|
||||
return new BaseTemplateData(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceDefaultUiTemplateData[] newArray(int size) {
|
||||
return new SmartspaceDefaultUiTemplateData[size];
|
||||
public BaseTemplateData[] newArray(int size) {
|
||||
return new BaseTemplateData[size];
|
||||
}
|
||||
};
|
||||
|
||||
@@ -221,8 +238,8 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceDefaultUiTemplateData)) return false;
|
||||
SmartspaceDefaultUiTemplateData that = (SmartspaceDefaultUiTemplateData) o;
|
||||
if (!(o instanceof BaseTemplateData)) return false;
|
||||
BaseTemplateData that = (BaseTemplateData) o;
|
||||
return mTemplateType == that.mTemplateType && SmartspaceUtils.isEqual(mTitleText,
|
||||
that.mTitleText)
|
||||
&& Objects.equals(mTitleIcon, that.mTitleIcon)
|
||||
@@ -261,7 +278,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceDefaultUiTemplateData} object.
|
||||
* A builder for {@link BaseTemplateData} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@@ -270,18 +287,18 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
public static class Builder {
|
||||
@UiTemplateType
|
||||
private final int mTemplateType;
|
||||
private SmartspaceText mTitleText;
|
||||
private SmartspaceIcon mTitleIcon;
|
||||
private SmartspaceText mSubtitleText;
|
||||
private SmartspaceIcon mSubtitleIcon;
|
||||
private SmartspaceTapAction mPrimaryTapAction;
|
||||
private SmartspaceText mSupplementalSubtitleText;
|
||||
private SmartspaceIcon mSupplementalSubtitleIcon;
|
||||
private SmartspaceTapAction mSupplementalSubtitleTapAction;
|
||||
private SmartspaceText mSupplementalAlarmText;
|
||||
private Text mTitleText;
|
||||
private Icon mTitleIcon;
|
||||
private Text mSubtitleText;
|
||||
private Icon mSubtitleIcon;
|
||||
private TapAction mPrimaryTapAction;
|
||||
private Text mSupplementalSubtitleText;
|
||||
private Icon mSupplementalSubtitleIcon;
|
||||
private TapAction mSupplementalSubtitleTapAction;
|
||||
private Text mSupplementalAlarmText;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceDefaultUiTemplateData}.
|
||||
* A builder for {@link BaseTemplateData}.
|
||||
*
|
||||
* @param templateType the {@link UiTemplateType} of this template data.
|
||||
*/
|
||||
@@ -299,63 +316,63 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceText getTitleText() {
|
||||
Text getTitleText() {
|
||||
return mTitleText;
|
||||
}
|
||||
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceIcon getTitleIcon() {
|
||||
Icon getTitleIcon() {
|
||||
return mTitleIcon;
|
||||
}
|
||||
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceText getSubtitleText() {
|
||||
Text getSubtitleText() {
|
||||
return mSubtitleText;
|
||||
}
|
||||
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceIcon getSubtitleIcon() {
|
||||
Icon getSubtitleIcon() {
|
||||
return mSubtitleIcon;
|
||||
}
|
||||
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceTapAction getPrimaryTapAction() {
|
||||
TapAction getPrimaryTapAction() {
|
||||
return mPrimaryTapAction;
|
||||
}
|
||||
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceText getSupplementalSubtitleText() {
|
||||
Text getSupplementalSubtitleText() {
|
||||
return mSupplementalSubtitleText;
|
||||
}
|
||||
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceIcon getSupplementalSubtitleIcon() {
|
||||
Icon getSupplementalSubtitleIcon() {
|
||||
return mSupplementalSubtitleIcon;
|
||||
}
|
||||
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceTapAction getSupplementalSubtitleTapAction() {
|
||||
TapAction getSupplementalSubtitleTapAction() {
|
||||
return mSupplementalSubtitleTapAction;
|
||||
}
|
||||
|
||||
/** Should ONLY be used by the subclasses */
|
||||
@Nullable
|
||||
@SuppressLint("GetterOnBuilder")
|
||||
SmartspaceText getSupplementalAlarmText() {
|
||||
Text getSupplementalAlarmText() {
|
||||
return mSupplementalAlarmText;
|
||||
}
|
||||
|
||||
@@ -363,7 +380,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* Sets the card title.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setTitleText(@NonNull SmartspaceText titleText) {
|
||||
public Builder setTitleText(@NonNull Text titleText) {
|
||||
mTitleText = titleText;
|
||||
return this;
|
||||
}
|
||||
@@ -372,7 +389,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* Sets the card title icon.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setTitleIcon(@NonNull SmartspaceIcon titleIcon) {
|
||||
public Builder setTitleIcon(@NonNull Icon titleIcon) {
|
||||
mTitleIcon = titleIcon;
|
||||
return this;
|
||||
}
|
||||
@@ -381,7 +398,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* Sets the card subtitle.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSubtitleText(@NonNull SmartspaceText subtitleText) {
|
||||
public Builder setSubtitleText(@NonNull Text subtitleText) {
|
||||
mSubtitleText = subtitleText;
|
||||
return this;
|
||||
}
|
||||
@@ -390,7 +407,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* Sets the card subtitle icon.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSubtitleIcon(@NonNull SmartspaceIcon subtitleIcon) {
|
||||
public Builder setSubtitleIcon(@NonNull Icon subtitleIcon) {
|
||||
mSubtitleIcon = subtitleIcon;
|
||||
return this;
|
||||
}
|
||||
@@ -399,7 +416,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* Sets the card primary tap action.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setPrimaryTapAction(@NonNull SmartspaceTapAction primaryTapAction) {
|
||||
public Builder setPrimaryTapAction(@NonNull TapAction primaryTapAction) {
|
||||
mPrimaryTapAction = primaryTapAction;
|
||||
return this;
|
||||
}
|
||||
@@ -409,7 +426,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSupplementalSubtitleText(
|
||||
@NonNull SmartspaceText supplementalSubtitleText) {
|
||||
@NonNull Text supplementalSubtitleText) {
|
||||
mSupplementalSubtitleText = supplementalSubtitleText;
|
||||
return this;
|
||||
}
|
||||
@@ -419,7 +436,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSupplementalSubtitleIcon(
|
||||
@NonNull SmartspaceIcon supplementalSubtitleIcon) {
|
||||
@NonNull Icon supplementalSubtitleIcon) {
|
||||
mSupplementalSubtitleIcon = supplementalSubtitleIcon;
|
||||
return this;
|
||||
}
|
||||
@@ -431,7 +448,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSupplementalSubtitleTapAction(
|
||||
@NonNull SmartspaceTapAction supplementalSubtitleTapAction) {
|
||||
@NonNull TapAction supplementalSubtitleTapAction) {
|
||||
mSupplementalSubtitleTapAction = supplementalSubtitleTapAction;
|
||||
return this;
|
||||
}
|
||||
@@ -440,7 +457,7 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* Sets the supplemental alarm text.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSupplementalAlarmText(@NonNull SmartspaceText supplementalAlarmText) {
|
||||
public Builder setSupplementalAlarmText(@NonNull Text supplementalAlarmText) {
|
||||
mSupplementalAlarmText = supplementalAlarmText;
|
||||
return this;
|
||||
}
|
||||
@@ -449,8 +466,8 @@ public class SmartspaceDefaultUiTemplateData implements Parcelable {
|
||||
* Builds a new SmartspaceDefaultUiTemplateData instance.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceDefaultUiTemplateData build() {
|
||||
return new SmartspaceDefaultUiTemplateData(mTemplateType, mTitleText, mTitleIcon,
|
||||
public BaseTemplateData build() {
|
||||
return new BaseTemplateData(mTemplateType, mTitleText, mTitleIcon,
|
||||
mSubtitleText, mSubtitleIcon, mPrimaryTapAction, mSupplementalSubtitleText,
|
||||
mSupplementalSubtitleIcon, mSupplementalSubtitleTapAction,
|
||||
mSupplementalAlarmText);
|
||||
@@ -30,10 +30,16 @@ import java.util.Objects;
|
||||
/**
|
||||
* Holds all the relevant data needed to render a Smartspace card with the carousel Ui Template.
|
||||
*
|
||||
* This template will add a sub-card displaying a list of carousel items within the default-template
|
||||
* card:
|
||||
* <ul>
|
||||
* <li> carouselItem1, carouselItem2, carouselItem3... </li>
|
||||
* </ul>
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiTemplateData {
|
||||
public final class CarouselTemplateData extends BaseTemplateData {
|
||||
|
||||
/** Lists of {@link CarouselItem}. */
|
||||
@NonNull
|
||||
@@ -41,26 +47,26 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
|
||||
/** Tap action for the entire carousel secondary card, including the blank space */
|
||||
@Nullable
|
||||
private final SmartspaceTapAction mCarouselAction;
|
||||
private final TapAction mCarouselAction;
|
||||
|
||||
SmartspaceCarouselUiTemplateData(@NonNull Parcel in) {
|
||||
CarouselTemplateData(@NonNull Parcel in) {
|
||||
super(in);
|
||||
mCarouselItems = in.createTypedArrayList(CarouselItem.CREATOR);
|
||||
mCarouselAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
|
||||
mCarouselAction = in.readTypedObject(TapAction.CREATOR);
|
||||
}
|
||||
|
||||
private SmartspaceCarouselUiTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable SmartspaceText titleText,
|
||||
@Nullable SmartspaceIcon titleIcon,
|
||||
@Nullable SmartspaceText subtitleText,
|
||||
@Nullable SmartspaceIcon subTitleIcon,
|
||||
@Nullable SmartspaceTapAction primaryTapAction,
|
||||
@Nullable SmartspaceText supplementalSubtitleText,
|
||||
@Nullable SmartspaceIcon supplementalSubtitleIcon,
|
||||
@Nullable SmartspaceTapAction supplementalSubtitleTapAction,
|
||||
@Nullable SmartspaceText supplementalAlarmText,
|
||||
private CarouselTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable Text titleText,
|
||||
@Nullable Icon titleIcon,
|
||||
@Nullable Text subtitleText,
|
||||
@Nullable Icon subTitleIcon,
|
||||
@Nullable TapAction primaryTapAction,
|
||||
@Nullable Text supplementalSubtitleText,
|
||||
@Nullable Icon supplementalSubtitleIcon,
|
||||
@Nullable TapAction supplementalSubtitleTapAction,
|
||||
@Nullable Text supplementalAlarmText,
|
||||
@NonNull List<CarouselItem> carouselItems,
|
||||
@Nullable SmartspaceTapAction carouselAction) {
|
||||
@Nullable TapAction carouselAction) {
|
||||
super(templateType, titleText, titleIcon, subtitleText, subTitleIcon, primaryTapAction,
|
||||
supplementalSubtitleText, supplementalSubtitleIcon, supplementalSubtitleTapAction,
|
||||
supplementalAlarmText);
|
||||
@@ -68,13 +74,15 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
mCarouselAction = carouselAction;
|
||||
}
|
||||
|
||||
/** Returns the list of {@link CarouselItem}. Can be empty if not being set. */
|
||||
@NonNull
|
||||
public List<CarouselItem> getCarouselItems() {
|
||||
return mCarouselItems;
|
||||
}
|
||||
|
||||
/** Returns the card's tap action. */
|
||||
@Nullable
|
||||
public SmartspaceTapAction getCarouselAction() {
|
||||
public TapAction getCarouselAction() {
|
||||
return mCarouselAction;
|
||||
}
|
||||
|
||||
@@ -82,16 +90,16 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
* @see Parcelable.Creator
|
||||
*/
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceCarouselUiTemplateData> CREATOR =
|
||||
new Creator<SmartspaceCarouselUiTemplateData>() {
|
||||
public static final Creator<CarouselTemplateData> CREATOR =
|
||||
new Creator<CarouselTemplateData>() {
|
||||
@Override
|
||||
public SmartspaceCarouselUiTemplateData createFromParcel(Parcel in) {
|
||||
return new SmartspaceCarouselUiTemplateData(in);
|
||||
public CarouselTemplateData createFromParcel(Parcel in) {
|
||||
return new CarouselTemplateData(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceCarouselUiTemplateData[] newArray(int size) {
|
||||
return new SmartspaceCarouselUiTemplateData[size];
|
||||
public CarouselTemplateData[] newArray(int size) {
|
||||
return new CarouselTemplateData[size];
|
||||
}
|
||||
};
|
||||
|
||||
@@ -111,9 +119,9 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceCarouselUiTemplateData)) return false;
|
||||
if (!(o instanceof CarouselTemplateData)) return false;
|
||||
if (!super.equals(o)) return false;
|
||||
SmartspaceCarouselUiTemplateData that = (SmartspaceCarouselUiTemplateData) o;
|
||||
CarouselTemplateData that = (CarouselTemplateData) o;
|
||||
return mCarouselItems.equals(that.mCarouselItems) && Objects.equals(mCarouselAction,
|
||||
that.mCarouselAction);
|
||||
}
|
||||
@@ -132,18 +140,18 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceCarouselUiTemplateData} object.
|
||||
* A builder for {@link CarouselTemplateData} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder extends SmartspaceDefaultUiTemplateData.Builder {
|
||||
public static final class Builder extends BaseTemplateData.Builder {
|
||||
|
||||
private final List<CarouselItem> mCarouselItems;
|
||||
private SmartspaceTapAction mCarouselAction;
|
||||
private TapAction mCarouselAction;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceCarouselUiTemplateData}.
|
||||
* A builder for {@link CarouselTemplateData}.
|
||||
*/
|
||||
public Builder(@NonNull List<CarouselItem> carouselItems) {
|
||||
super(SmartspaceTarget.UI_TEMPLATE_CAROUSEL);
|
||||
@@ -154,23 +162,23 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
* Sets the card tap action.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setCarouselAction(@NonNull SmartspaceTapAction carouselAction) {
|
||||
public Builder setCarouselAction(@NonNull TapAction carouselAction) {
|
||||
mCarouselAction = carouselAction;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds a new SmartspaceCarouselUiTemplateData instance.
|
||||
* Builds a new {@link CarouselTemplateData} instance.
|
||||
*
|
||||
* @throws IllegalStateException if the carousel data is invalid.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceCarouselUiTemplateData build() {
|
||||
public CarouselTemplateData build() {
|
||||
if (mCarouselItems.isEmpty()) {
|
||||
throw new IllegalStateException("Carousel data is empty");
|
||||
}
|
||||
|
||||
return new SmartspaceCarouselUiTemplateData(getTemplateType(), getTitleText(),
|
||||
return new CarouselTemplateData(getTemplateType(), getTitleText(),
|
||||
getTitleIcon(), getSubtitleText(), getSubtitleIcon(), getPrimaryTapAction(),
|
||||
getSupplementalSubtitleText(), getSupplementalSubtitleIcon(),
|
||||
getSupplementalSubtitleTapAction(), getSupplementalAlarmText(), mCarouselItems,
|
||||
@@ -178,37 +186,45 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
}
|
||||
}
|
||||
|
||||
/** Holds all the relevant data needed to render a carousel item. */
|
||||
/**
|
||||
* Holds all the relevant data needed to render a carousel item.
|
||||
*
|
||||
* <ul>
|
||||
* <li> upper text </li>
|
||||
* <li> image </li>
|
||||
* <li> lower text </li>
|
||||
* </ul>
|
||||
*/
|
||||
public static final class CarouselItem implements Parcelable {
|
||||
|
||||
/** Text which is above the image item. */
|
||||
@Nullable
|
||||
private final SmartspaceText mUpperText;
|
||||
private final Text mUpperText;
|
||||
|
||||
/** Image item. Can be empty. */
|
||||
@Nullable
|
||||
private final SmartspaceIcon mImage;
|
||||
private final Icon mImage;
|
||||
|
||||
/** Text which is under the image item. */
|
||||
@Nullable
|
||||
private final SmartspaceText mLowerText;
|
||||
private final Text mLowerText;
|
||||
|
||||
/**
|
||||
* Tap action for this {@link CarouselItem} instance. {@code mCarouselAction} is used if not
|
||||
* being set.
|
||||
*/
|
||||
@Nullable
|
||||
private final SmartspaceTapAction mTapAction;
|
||||
private final TapAction mTapAction;
|
||||
|
||||
CarouselItem(@NonNull Parcel in) {
|
||||
mUpperText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mImage = in.readTypedObject(SmartspaceIcon.CREATOR);
|
||||
mLowerText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mTapAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
|
||||
mUpperText = in.readTypedObject(Text.CREATOR);
|
||||
mImage = in.readTypedObject(Icon.CREATOR);
|
||||
mLowerText = in.readTypedObject(Text.CREATOR);
|
||||
mTapAction = in.readTypedObject(TapAction.CREATOR);
|
||||
}
|
||||
|
||||
private CarouselItem(@Nullable SmartspaceText upperText, @Nullable SmartspaceIcon image,
|
||||
@Nullable SmartspaceText lowerText, @Nullable SmartspaceTapAction tapAction) {
|
||||
private CarouselItem(@Nullable Text upperText, @Nullable Icon image,
|
||||
@Nullable Text lowerText, @Nullable TapAction tapAction) {
|
||||
mUpperText = upperText;
|
||||
mImage = image;
|
||||
mLowerText = lowerText;
|
||||
@@ -216,22 +232,22 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public SmartspaceText getUpperText() {
|
||||
public Text getUpperText() {
|
||||
return mUpperText;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public SmartspaceIcon getImage() {
|
||||
public Icon getImage() {
|
||||
return mImage;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public SmartspaceText getLowerText() {
|
||||
public Text getLowerText() {
|
||||
return mLowerText;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public SmartspaceTapAction getTapAction() {
|
||||
public TapAction getTapAction() {
|
||||
return mTapAction;
|
||||
}
|
||||
|
||||
@@ -299,16 +315,16 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
@SystemApi
|
||||
public static final class Builder {
|
||||
|
||||
private SmartspaceText mUpperText;
|
||||
private SmartspaceIcon mImage;
|
||||
private SmartspaceText mLowerText;
|
||||
private SmartspaceTapAction mTapAction;
|
||||
private Text mUpperText;
|
||||
private Icon mImage;
|
||||
private Text mLowerText;
|
||||
private TapAction mTapAction;
|
||||
|
||||
/**
|
||||
* Sets the upper text.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setUpperText(@Nullable SmartspaceText upperText) {
|
||||
public Builder setUpperText(@Nullable Text upperText) {
|
||||
mUpperText = upperText;
|
||||
return this;
|
||||
}
|
||||
@@ -317,7 +333,7 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
* Sets the image.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setImage(@Nullable SmartspaceIcon image) {
|
||||
public Builder setImage(@Nullable Icon image) {
|
||||
mImage = image;
|
||||
return this;
|
||||
}
|
||||
@@ -327,7 +343,7 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
* Sets the lower text.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setLowerText(@Nullable SmartspaceText lowerText) {
|
||||
public Builder setLowerText(@Nullable Text lowerText) {
|
||||
mLowerText = lowerText;
|
||||
return this;
|
||||
}
|
||||
@@ -336,7 +352,7 @@ public final class SmartspaceCarouselUiTemplateData extends SmartspaceDefaultUiT
|
||||
* Sets the tap action.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setTapAction(@Nullable SmartspaceTapAction tapAction) {
|
||||
public Builder setTapAction(@Nullable TapAction tapAction) {
|
||||
mTapAction = tapAction;
|
||||
return this;
|
||||
}
|
||||
@@ -29,42 +29,47 @@ import java.util.Objects;
|
||||
* Holds all the relevant data needed to render a Smartspace card with the combined-card Ui
|
||||
* Template.
|
||||
*
|
||||
* We only support 1 sub-list card combined with 1 carousel card. And we may expand our supported
|
||||
* combinations in the future.
|
||||
* We only support adding a 1 sub-list card combined with 1 sub-card card (may expand our supported
|
||||
* combinations in the future) within the default-template card:
|
||||
*
|
||||
* <ul>
|
||||
* <li> sub-list card, sub-card card </li>
|
||||
* </ul>
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceCombinedCardsUiTemplateData extends SmartspaceDefaultUiTemplateData {
|
||||
public final class CombinedCardsTemplateData extends BaseTemplateData {
|
||||
|
||||
/** A list of secondary cards. */
|
||||
@NonNull
|
||||
private final List<SmartspaceDefaultUiTemplateData> mCombinedCardDataList;
|
||||
private final List<BaseTemplateData> mCombinedCardDataList;
|
||||
|
||||
SmartspaceCombinedCardsUiTemplateData(@NonNull Parcel in) {
|
||||
CombinedCardsTemplateData(@NonNull Parcel in) {
|
||||
super(in);
|
||||
mCombinedCardDataList = in.createTypedArrayList(SmartspaceDefaultUiTemplateData.CREATOR);
|
||||
mCombinedCardDataList = in.createTypedArrayList(BaseTemplateData.CREATOR);
|
||||
}
|
||||
|
||||
private SmartspaceCombinedCardsUiTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable SmartspaceText titleText,
|
||||
@Nullable SmartspaceIcon titleIcon,
|
||||
@Nullable SmartspaceText subtitleText,
|
||||
@Nullable SmartspaceIcon subTitleIcon,
|
||||
@Nullable SmartspaceTapAction primaryTapAction,
|
||||
@Nullable SmartspaceText supplementalSubtitleText,
|
||||
@Nullable SmartspaceIcon supplementalSubtitleIcon,
|
||||
@Nullable SmartspaceTapAction supplementalSubtitleTapAction,
|
||||
@Nullable SmartspaceText supplementalAlarmText,
|
||||
@NonNull List<SmartspaceDefaultUiTemplateData> combinedCardDataList) {
|
||||
private CombinedCardsTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable Text titleText,
|
||||
@Nullable Icon titleIcon,
|
||||
@Nullable Text subtitleText,
|
||||
@Nullable Icon subTitleIcon,
|
||||
@Nullable TapAction primaryTapAction,
|
||||
@Nullable Text supplementalSubtitleText,
|
||||
@Nullable Icon supplementalSubtitleIcon,
|
||||
@Nullable TapAction supplementalSubtitleTapAction,
|
||||
@Nullable Text supplementalAlarmText,
|
||||
@NonNull List<BaseTemplateData> combinedCardDataList) {
|
||||
super(templateType, titleText, titleIcon, subtitleText, subTitleIcon, primaryTapAction,
|
||||
supplementalSubtitleText, supplementalSubtitleIcon, supplementalSubtitleTapAction,
|
||||
supplementalAlarmText);
|
||||
mCombinedCardDataList = combinedCardDataList;
|
||||
}
|
||||
|
||||
/** Returns the list of secondary cards. Can be null if not being set. */
|
||||
@NonNull
|
||||
public List<SmartspaceDefaultUiTemplateData> getCombinedCardDataList() {
|
||||
public List<BaseTemplateData> getCombinedCardDataList() {
|
||||
return mCombinedCardDataList;
|
||||
}
|
||||
|
||||
@@ -72,16 +77,16 @@ public final class SmartspaceCombinedCardsUiTemplateData extends SmartspaceDefau
|
||||
* @see Parcelable.Creator
|
||||
*/
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceCombinedCardsUiTemplateData> CREATOR =
|
||||
new Creator<SmartspaceCombinedCardsUiTemplateData>() {
|
||||
public static final Creator<CombinedCardsTemplateData> CREATOR =
|
||||
new Creator<CombinedCardsTemplateData>() {
|
||||
@Override
|
||||
public SmartspaceCombinedCardsUiTemplateData createFromParcel(Parcel in) {
|
||||
return new SmartspaceCombinedCardsUiTemplateData(in);
|
||||
public CombinedCardsTemplateData createFromParcel(Parcel in) {
|
||||
return new CombinedCardsTemplateData(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceCombinedCardsUiTemplateData[] newArray(int size) {
|
||||
return new SmartspaceCombinedCardsUiTemplateData[size];
|
||||
public CombinedCardsTemplateData[] newArray(int size) {
|
||||
return new CombinedCardsTemplateData[size];
|
||||
}
|
||||
};
|
||||
|
||||
@@ -99,9 +104,9 @@ public final class SmartspaceCombinedCardsUiTemplateData extends SmartspaceDefau
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceCombinedCardsUiTemplateData)) return false;
|
||||
if (!(o instanceof CombinedCardsTemplateData)) return false;
|
||||
if (!super.equals(o)) return false;
|
||||
SmartspaceCombinedCardsUiTemplateData that = (SmartspaceCombinedCardsUiTemplateData) o;
|
||||
CombinedCardsTemplateData that = (CombinedCardsTemplateData) o;
|
||||
return mCombinedCardDataList.equals(that.mCombinedCardDataList);
|
||||
}
|
||||
|
||||
@@ -118,19 +123,19 @@ public final class SmartspaceCombinedCardsUiTemplateData extends SmartspaceDefau
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceCombinedCardsUiTemplateData} object.
|
||||
* A builder for {@link CombinedCardsTemplateData} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder extends SmartspaceDefaultUiTemplateData.Builder {
|
||||
public static final class Builder extends BaseTemplateData.Builder {
|
||||
|
||||
private final List<SmartspaceDefaultUiTemplateData> mCombinedCardDataList;
|
||||
private final List<BaseTemplateData> mCombinedCardDataList;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceCombinedCardsUiTemplateData}.
|
||||
* A builder for {@link CombinedCardsTemplateData}.
|
||||
*/
|
||||
public Builder(@NonNull List<SmartspaceDefaultUiTemplateData> combinedCardDataList) {
|
||||
public Builder(@NonNull List<BaseTemplateData> combinedCardDataList) {
|
||||
super(SmartspaceTarget.UI_TEMPLATE_COMBINED_CARDS);
|
||||
mCombinedCardDataList = Objects.requireNonNull(combinedCardDataList);
|
||||
}
|
||||
@@ -141,11 +146,11 @@ public final class SmartspaceCombinedCardsUiTemplateData extends SmartspaceDefau
|
||||
* @throws IllegalStateException if any required non-null field is null
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceCombinedCardsUiTemplateData build() {
|
||||
public CombinedCardsTemplateData build() {
|
||||
if (mCombinedCardDataList == null) {
|
||||
throw new IllegalStateException("Please assign a value to all @NonNull args.");
|
||||
}
|
||||
return new SmartspaceCombinedCardsUiTemplateData(getTemplateType(), getTitleText(),
|
||||
return new CombinedCardsTemplateData(getTemplateType(), getTitleText(),
|
||||
getTitleIcon(), getSubtitleText(), getSubtitleIcon(), getPrimaryTapAction(),
|
||||
getSupplementalSubtitleText(), getSupplementalSubtitleIcon(),
|
||||
getSupplementalSubtitleTapAction(), getSupplementalAlarmText(),
|
||||
@@ -28,52 +28,59 @@ import java.util.Objects;
|
||||
/**
|
||||
* Holds all the relevant data needed to render a Smartspace card with the head-to-head Ui Template.
|
||||
*
|
||||
* This template will add a head-to-head card within the default-template card:
|
||||
* <ul>
|
||||
* <li> head-to-head title </li>
|
||||
* <li> first-competitor icon second-competitor icon </li>
|
||||
* <li> first-competitor text second-competitor text </li>
|
||||
* </ul>
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultUiTemplateData {
|
||||
public final class HeadToHeadTemplateData extends BaseTemplateData {
|
||||
|
||||
@Nullable
|
||||
private final SmartspaceText mHeadToHeadTitle;
|
||||
private final Text mHeadToHeadTitle;
|
||||
@Nullable
|
||||
private final SmartspaceIcon mHeadToHeadFirstCompetitorIcon;
|
||||
private final Icon mHeadToHeadFirstCompetitorIcon;
|
||||
@Nullable
|
||||
private final SmartspaceIcon mHeadToHeadSecondCompetitorIcon;
|
||||
private final Icon mHeadToHeadSecondCompetitorIcon;
|
||||
@Nullable
|
||||
private final SmartspaceText mHeadToHeadFirstCompetitorText;
|
||||
private final Text mHeadToHeadFirstCompetitorText;
|
||||
@Nullable
|
||||
private final SmartspaceText mHeadToHeadSecondCompetitorText;
|
||||
private final Text mHeadToHeadSecondCompetitorText;
|
||||
|
||||
/** Tap action for the head-to-head secondary card. */
|
||||
@Nullable
|
||||
private final SmartspaceTapAction mHeadToHeadAction;
|
||||
private final TapAction mHeadToHeadAction;
|
||||
|
||||
SmartspaceHeadToHeadUiTemplateData(@NonNull Parcel in) {
|
||||
HeadToHeadTemplateData(@NonNull Parcel in) {
|
||||
super(in);
|
||||
mHeadToHeadTitle = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mHeadToHeadFirstCompetitorIcon = in.readTypedObject(SmartspaceIcon.CREATOR);
|
||||
mHeadToHeadSecondCompetitorIcon = in.readTypedObject(SmartspaceIcon.CREATOR);
|
||||
mHeadToHeadFirstCompetitorText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mHeadToHeadSecondCompetitorText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mHeadToHeadAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
|
||||
mHeadToHeadTitle = in.readTypedObject(Text.CREATOR);
|
||||
mHeadToHeadFirstCompetitorIcon = in.readTypedObject(Icon.CREATOR);
|
||||
mHeadToHeadSecondCompetitorIcon = in.readTypedObject(Icon.CREATOR);
|
||||
mHeadToHeadFirstCompetitorText = in.readTypedObject(Text.CREATOR);
|
||||
mHeadToHeadSecondCompetitorText = in.readTypedObject(Text.CREATOR);
|
||||
mHeadToHeadAction = in.readTypedObject(TapAction.CREATOR);
|
||||
}
|
||||
|
||||
private SmartspaceHeadToHeadUiTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable SmartspaceText titleText,
|
||||
@Nullable SmartspaceIcon titleIcon,
|
||||
@Nullable SmartspaceText subtitleText,
|
||||
@Nullable SmartspaceIcon subTitleIcon,
|
||||
@Nullable SmartspaceTapAction primaryTapAction,
|
||||
@Nullable SmartspaceText supplementalSubtitleText,
|
||||
@Nullable SmartspaceIcon supplementalSubtitleIcon,
|
||||
@Nullable SmartspaceTapAction supplementalSubtitleTapAction,
|
||||
@Nullable SmartspaceText supplementalAlarmText,
|
||||
@Nullable SmartspaceText headToHeadTitle,
|
||||
@Nullable SmartspaceIcon headToHeadFirstCompetitorIcon,
|
||||
@Nullable SmartspaceIcon headToHeadSecondCompetitorIcon,
|
||||
@Nullable SmartspaceText headToHeadFirstCompetitorText,
|
||||
@Nullable SmartspaceText headToHeadSecondCompetitorText,
|
||||
@Nullable SmartspaceTapAction headToHeadAction) {
|
||||
private HeadToHeadTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable Text titleText,
|
||||
@Nullable Icon titleIcon,
|
||||
@Nullable Text subtitleText,
|
||||
@Nullable Icon subTitleIcon,
|
||||
@Nullable TapAction primaryTapAction,
|
||||
@Nullable Text supplementalSubtitleText,
|
||||
@Nullable Icon supplementalSubtitleIcon,
|
||||
@Nullable TapAction supplementalSubtitleTapAction,
|
||||
@Nullable Text supplementalAlarmText,
|
||||
@Nullable Text headToHeadTitle,
|
||||
@Nullable Icon headToHeadFirstCompetitorIcon,
|
||||
@Nullable Icon headToHeadSecondCompetitorIcon,
|
||||
@Nullable Text headToHeadFirstCompetitorText,
|
||||
@Nullable Text headToHeadSecondCompetitorText,
|
||||
@Nullable TapAction headToHeadAction) {
|
||||
super(templateType, titleText, titleIcon, subtitleText, subTitleIcon, primaryTapAction,
|
||||
supplementalSubtitleText, supplementalSubtitleIcon, supplementalSubtitleTapAction,
|
||||
supplementalAlarmText);
|
||||
@@ -85,33 +92,39 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
mHeadToHeadAction = headToHeadAction;
|
||||
}
|
||||
|
||||
/** Returns the head-to-head card's title. */
|
||||
@Nullable
|
||||
public SmartspaceText getHeadToHeadTitle() {
|
||||
public Text getHeadToHeadTitle() {
|
||||
return mHeadToHeadTitle;
|
||||
}
|
||||
|
||||
/** Returns the first competitor's icon. */
|
||||
@Nullable
|
||||
public SmartspaceIcon getHeadToHeadFirstCompetitorIcon() {
|
||||
public Icon getHeadToHeadFirstCompetitorIcon() {
|
||||
return mHeadToHeadFirstCompetitorIcon;
|
||||
}
|
||||
|
||||
/** Returns the second competitor's icon. */
|
||||
@Nullable
|
||||
public SmartspaceIcon getHeadToHeadSecondCompetitorIcon() {
|
||||
public Icon getHeadToHeadSecondCompetitorIcon() {
|
||||
return mHeadToHeadSecondCompetitorIcon;
|
||||
}
|
||||
|
||||
/** Returns the first competitor's text. */
|
||||
@Nullable
|
||||
public SmartspaceText getHeadToHeadFirstCompetitorText() {
|
||||
public Text getHeadToHeadFirstCompetitorText() {
|
||||
return mHeadToHeadFirstCompetitorText;
|
||||
}
|
||||
|
||||
/** Returns the second competitor's text. */
|
||||
@Nullable
|
||||
public SmartspaceText getHeadToHeadSecondCompetitorText() {
|
||||
public Text getHeadToHeadSecondCompetitorText() {
|
||||
return mHeadToHeadSecondCompetitorText;
|
||||
}
|
||||
|
||||
/** Returns the head-to-head card's tap action. */
|
||||
@Nullable
|
||||
public SmartspaceTapAction getHeadToHeadAction() {
|
||||
public TapAction getHeadToHeadAction() {
|
||||
return mHeadToHeadAction;
|
||||
}
|
||||
|
||||
@@ -119,16 +132,16 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
* @see Parcelable.Creator
|
||||
*/
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceHeadToHeadUiTemplateData> CREATOR =
|
||||
new Creator<SmartspaceHeadToHeadUiTemplateData>() {
|
||||
public static final Creator<HeadToHeadTemplateData> CREATOR =
|
||||
new Creator<HeadToHeadTemplateData>() {
|
||||
@Override
|
||||
public SmartspaceHeadToHeadUiTemplateData createFromParcel(Parcel in) {
|
||||
return new SmartspaceHeadToHeadUiTemplateData(in);
|
||||
public HeadToHeadTemplateData createFromParcel(Parcel in) {
|
||||
return new HeadToHeadTemplateData(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceHeadToHeadUiTemplateData[] newArray(int size) {
|
||||
return new SmartspaceHeadToHeadUiTemplateData[size];
|
||||
public HeadToHeadTemplateData[] newArray(int size) {
|
||||
return new HeadToHeadTemplateData[size];
|
||||
}
|
||||
};
|
||||
|
||||
@@ -151,9 +164,9 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceHeadToHeadUiTemplateData)) return false;
|
||||
if (!(o instanceof HeadToHeadTemplateData)) return false;
|
||||
if (!super.equals(o)) return false;
|
||||
SmartspaceHeadToHeadUiTemplateData that = (SmartspaceHeadToHeadUiTemplateData) o;
|
||||
HeadToHeadTemplateData that = (HeadToHeadTemplateData) o;
|
||||
return SmartspaceUtils.isEqual(mHeadToHeadTitle, that.mHeadToHeadTitle) && Objects.equals(
|
||||
mHeadToHeadFirstCompetitorIcon, that.mHeadToHeadFirstCompetitorIcon)
|
||||
&& Objects.equals(
|
||||
@@ -187,22 +200,22 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceHeadToHeadUiTemplateData} object.
|
||||
* A builder for {@link HeadToHeadTemplateData} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder extends SmartspaceDefaultUiTemplateData.Builder {
|
||||
public static final class Builder extends BaseTemplateData.Builder {
|
||||
|
||||
private SmartspaceText mHeadToHeadTitle;
|
||||
private SmartspaceIcon mHeadToHeadFirstCompetitorIcon;
|
||||
private SmartspaceIcon mHeadToHeadSecondCompetitorIcon;
|
||||
private SmartspaceText mHeadToHeadFirstCompetitorText;
|
||||
private SmartspaceText mHeadToHeadSecondCompetitorText;
|
||||
private SmartspaceTapAction mHeadToHeadAction;
|
||||
private Text mHeadToHeadTitle;
|
||||
private Icon mHeadToHeadFirstCompetitorIcon;
|
||||
private Icon mHeadToHeadSecondCompetitorIcon;
|
||||
private Text mHeadToHeadFirstCompetitorText;
|
||||
private Text mHeadToHeadSecondCompetitorText;
|
||||
private TapAction mHeadToHeadAction;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceHeadToHeadUiTemplateData}.
|
||||
* A builder for {@link HeadToHeadTemplateData}.
|
||||
*/
|
||||
public Builder() {
|
||||
super(SmartspaceTarget.UI_TEMPLATE_HEAD_TO_HEAD);
|
||||
@@ -212,7 +225,7 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
* Sets the head-to-head card's title
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setHeadToHeadTitle(@Nullable SmartspaceText headToHeadTitle) {
|
||||
public Builder setHeadToHeadTitle(@Nullable Text headToHeadTitle) {
|
||||
mHeadToHeadTitle = headToHeadTitle;
|
||||
return this;
|
||||
}
|
||||
@@ -222,7 +235,7 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setHeadToHeadFirstCompetitorIcon(
|
||||
@Nullable SmartspaceIcon headToHeadFirstCompetitorIcon) {
|
||||
@Nullable Icon headToHeadFirstCompetitorIcon) {
|
||||
mHeadToHeadFirstCompetitorIcon = headToHeadFirstCompetitorIcon;
|
||||
return this;
|
||||
}
|
||||
@@ -232,7 +245,7 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setHeadToHeadSecondCompetitorIcon(
|
||||
@Nullable SmartspaceIcon headToHeadSecondCompetitorIcon) {
|
||||
@Nullable Icon headToHeadSecondCompetitorIcon) {
|
||||
mHeadToHeadSecondCompetitorIcon = headToHeadSecondCompetitorIcon;
|
||||
return this;
|
||||
}
|
||||
@@ -242,7 +255,7 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setHeadToHeadFirstCompetitorText(
|
||||
@Nullable SmartspaceText headToHeadFirstCompetitorText) {
|
||||
@Nullable Text headToHeadFirstCompetitorText) {
|
||||
mHeadToHeadFirstCompetitorText = headToHeadFirstCompetitorText;
|
||||
return this;
|
||||
}
|
||||
@@ -252,7 +265,7 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setHeadToHeadSecondCompetitorText(
|
||||
@Nullable SmartspaceText headToHeadSecondCompetitorText) {
|
||||
@Nullable Text headToHeadSecondCompetitorText) {
|
||||
mHeadToHeadSecondCompetitorText = headToHeadSecondCompetitorText;
|
||||
return this;
|
||||
}
|
||||
@@ -261,7 +274,7 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
* Sets the head-to-head card's tap action
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setHeadToHeadAction(@Nullable SmartspaceTapAction headToHeadAction) {
|
||||
public Builder setHeadToHeadAction(@Nullable TapAction headToHeadAction) {
|
||||
mHeadToHeadAction = headToHeadAction;
|
||||
return this;
|
||||
}
|
||||
@@ -270,8 +283,8 @@ public final class SmartspaceHeadToHeadUiTemplateData extends SmartspaceDefaultU
|
||||
* Builds a new SmartspaceHeadToHeadUiTemplateData instance.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceHeadToHeadUiTemplateData build() {
|
||||
return new SmartspaceHeadToHeadUiTemplateData(getTemplateType(), getTitleText(),
|
||||
public HeadToHeadTemplateData build() {
|
||||
return new HeadToHeadTemplateData(getTemplateType(), getTitleText(),
|
||||
getTitleIcon(), getSubtitleText(), getSubtitleIcon(), getPrimaryTapAction(),
|
||||
getSupplementalSubtitleText(), getSupplementalSubtitleIcon(),
|
||||
getSupplementalSubtitleTapAction(), getSupplementalAlarmText(),
|
||||
@@ -20,7 +20,6 @@ import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.app.smartspace.SmartspaceUtils;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.text.TextUtils;
|
||||
@@ -34,34 +33,37 @@ import java.util.Objects;
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceIcon implements Parcelable {
|
||||
public final class Icon implements Parcelable {
|
||||
|
||||
@NonNull
|
||||
private final Icon mIcon;
|
||||
private final android.graphics.drawable.Icon mIcon;
|
||||
|
||||
@Nullable
|
||||
private final CharSequence mContentDescription;
|
||||
|
||||
private final boolean mShouldTint;
|
||||
|
||||
SmartspaceIcon(@NonNull Parcel in) {
|
||||
mIcon = in.readTypedObject(Icon.CREATOR);
|
||||
Icon(@NonNull Parcel in) {
|
||||
mIcon = in.readTypedObject(android.graphics.drawable.Icon.CREATOR);
|
||||
mContentDescription = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
||||
mShouldTint = in.readBoolean();
|
||||
}
|
||||
|
||||
private SmartspaceIcon(@NonNull Icon icon, @Nullable CharSequence contentDescription,
|
||||
private Icon(@NonNull android.graphics.drawable.Icon icon,
|
||||
@Nullable CharSequence contentDescription,
|
||||
boolean shouldTint) {
|
||||
mIcon = icon;
|
||||
mContentDescription = contentDescription;
|
||||
mShouldTint = shouldTint;
|
||||
}
|
||||
|
||||
/** Returns the icon image. */
|
||||
@NonNull
|
||||
public Icon getIcon() {
|
||||
public android.graphics.drawable.Icon getIcon() {
|
||||
return mIcon;
|
||||
}
|
||||
|
||||
/** Returns the content description of the icon image. */
|
||||
@Nullable
|
||||
public CharSequence getContentDescription() {
|
||||
return mContentDescription;
|
||||
@@ -73,23 +75,23 @@ public final class SmartspaceIcon implements Parcelable {
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceIcon> CREATOR = new Creator<SmartspaceIcon>() {
|
||||
public static final Creator<Icon> CREATOR = new Creator<Icon>() {
|
||||
@Override
|
||||
public SmartspaceIcon createFromParcel(Parcel in) {
|
||||
return new SmartspaceIcon(in);
|
||||
public Icon createFromParcel(Parcel in) {
|
||||
return new Icon(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceIcon[] newArray(int size) {
|
||||
return new SmartspaceIcon[size];
|
||||
public Icon[] newArray(int size) {
|
||||
return new Icon[size];
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceIcon)) return false;
|
||||
SmartspaceIcon that = (SmartspaceIcon) o;
|
||||
if (!(o instanceof Icon)) return false;
|
||||
Icon that = (Icon) o;
|
||||
return mIcon.toString().equals(that.mIcon.toString()) && SmartspaceUtils.isEqual(
|
||||
mContentDescription,
|
||||
that.mContentDescription) && mShouldTint == that.mShouldTint;
|
||||
@@ -122,23 +124,23 @@ public final class SmartspaceIcon implements Parcelable {
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceIcon} object.
|
||||
* A builder for {@link Icon} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder {
|
||||
|
||||
private Icon mIcon;
|
||||
private android.graphics.drawable.Icon mIcon;
|
||||
private CharSequence mContentDescription;
|
||||
private boolean mShouldTint;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceIcon}, which sets shouldTint to true by default.
|
||||
* A builder for {@link Icon}, which sets shouldTint to true by default.
|
||||
*
|
||||
* @param icon the icon image of this {@link SmartspaceIcon} instance.
|
||||
* @param icon the icon image of this {@link Icon} instance.
|
||||
*/
|
||||
public Builder(@NonNull Icon icon) {
|
||||
public Builder(@NonNull android.graphics.drawable.Icon icon) {
|
||||
mIcon = Objects.requireNonNull(icon);
|
||||
mShouldTint = true;
|
||||
}
|
||||
@@ -165,8 +167,8 @@ public final class SmartspaceIcon implements Parcelable {
|
||||
* Builds a new SmartspaceIcon instance.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceIcon build() {
|
||||
return new SmartspaceIcon(mIcon, mContentDescription, mShouldTint);
|
||||
public Icon build() {
|
||||
return new Icon(mIcon, mContentDescription, mShouldTint);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,43 +28,49 @@ import java.util.Objects;
|
||||
/**
|
||||
* Holds all the relevant data needed to render a Smartspace card with the sub-card Ui Template.
|
||||
*
|
||||
* This template will add a sub-card card within the default-template card:
|
||||
* <ul>
|
||||
* <li> sub-card icon </li>
|
||||
* <li> sub-card text </li>
|
||||
* </ul>
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceSubCardUiTemplateData extends SmartspaceDefaultUiTemplateData {
|
||||
public final class SubCardTemplateData extends BaseTemplateData {
|
||||
|
||||
/** Icon for the sub-card. */
|
||||
@NonNull
|
||||
private final SmartspaceIcon mSubCardIcon;
|
||||
private final Icon mSubCardIcon;
|
||||
|
||||
/** Text for the sub-card, which shows below the icon when being set. */
|
||||
@Nullable
|
||||
private final SmartspaceText mSubCardText;
|
||||
private final Text mSubCardText;
|
||||
|
||||
/** Tap action for the sub-card secondary card. */
|
||||
@Nullable
|
||||
private final SmartspaceTapAction mSubCardAction;
|
||||
private final TapAction mSubCardAction;
|
||||
|
||||
SmartspaceSubCardUiTemplateData(@NonNull Parcel in) {
|
||||
SubCardTemplateData(@NonNull Parcel in) {
|
||||
super(in);
|
||||
mSubCardIcon = in.readTypedObject(SmartspaceIcon.CREATOR);
|
||||
mSubCardText = in.readTypedObject(SmartspaceText.CREATOR);
|
||||
mSubCardAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
|
||||
mSubCardIcon = in.readTypedObject(Icon.CREATOR);
|
||||
mSubCardText = in.readTypedObject(Text.CREATOR);
|
||||
mSubCardAction = in.readTypedObject(TapAction.CREATOR);
|
||||
}
|
||||
|
||||
private SmartspaceSubCardUiTemplateData(int templateType,
|
||||
@Nullable SmartspaceText titleText,
|
||||
@Nullable SmartspaceIcon titleIcon,
|
||||
@Nullable SmartspaceText subtitleText,
|
||||
@Nullable SmartspaceIcon subTitleIcon,
|
||||
@Nullable SmartspaceTapAction primaryTapAction,
|
||||
@Nullable SmartspaceText supplementalSubtitleText,
|
||||
@Nullable SmartspaceIcon supplementalSubtitleIcon,
|
||||
@Nullable SmartspaceTapAction supplementalSubtitleTapAction,
|
||||
@Nullable SmartspaceText supplementalAlarmText,
|
||||
@NonNull SmartspaceIcon subCardIcon,
|
||||
@Nullable SmartspaceText subCardText,
|
||||
@Nullable SmartspaceTapAction subCardAction) {
|
||||
private SubCardTemplateData(int templateType,
|
||||
@Nullable Text titleText,
|
||||
@Nullable Icon titleIcon,
|
||||
@Nullable Text subtitleText,
|
||||
@Nullable Icon subTitleIcon,
|
||||
@Nullable TapAction primaryTapAction,
|
||||
@Nullable Text supplementalSubtitleText,
|
||||
@Nullable Icon supplementalSubtitleIcon,
|
||||
@Nullable TapAction supplementalSubtitleTapAction,
|
||||
@Nullable Text supplementalAlarmText,
|
||||
@NonNull Icon subCardIcon,
|
||||
@Nullable Text subCardText,
|
||||
@Nullable TapAction subCardAction) {
|
||||
super(templateType, titleText, titleIcon, subtitleText, subTitleIcon, primaryTapAction,
|
||||
supplementalSubtitleText, supplementalSubtitleIcon, supplementalSubtitleTapAction,
|
||||
supplementalAlarmText);
|
||||
@@ -73,18 +79,21 @@ public final class SmartspaceSubCardUiTemplateData extends SmartspaceDefaultUiTe
|
||||
mSubCardAction = subCardAction;
|
||||
}
|
||||
|
||||
/** Returns the sub-card card's icon. */
|
||||
@NonNull
|
||||
public SmartspaceIcon getSubCardIcon() {
|
||||
public Icon getSubCardIcon() {
|
||||
return mSubCardIcon;
|
||||
}
|
||||
|
||||
/** Returns the sub-card card's text. */
|
||||
@Nullable
|
||||
public SmartspaceText getSubCardText() {
|
||||
public Text getSubCardText() {
|
||||
return mSubCardText;
|
||||
}
|
||||
|
||||
/** Returns the sub-card card's tap action. */
|
||||
@Nullable
|
||||
public SmartspaceTapAction getSubCardAction() {
|
||||
public TapAction getSubCardAction() {
|
||||
return mSubCardAction;
|
||||
}
|
||||
|
||||
@@ -92,16 +101,16 @@ public final class SmartspaceSubCardUiTemplateData extends SmartspaceDefaultUiTe
|
||||
* @see Parcelable.Creator
|
||||
*/
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceSubCardUiTemplateData> CREATOR =
|
||||
new Creator<SmartspaceSubCardUiTemplateData>() {
|
||||
public static final Creator<SubCardTemplateData> CREATOR =
|
||||
new Creator<SubCardTemplateData>() {
|
||||
@Override
|
||||
public SmartspaceSubCardUiTemplateData createFromParcel(Parcel in) {
|
||||
return new SmartspaceSubCardUiTemplateData(in);
|
||||
public SubCardTemplateData createFromParcel(Parcel in) {
|
||||
return new SubCardTemplateData(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceSubCardUiTemplateData[] newArray(int size) {
|
||||
return new SmartspaceSubCardUiTemplateData[size];
|
||||
public SubCardTemplateData[] newArray(int size) {
|
||||
return new SubCardTemplateData[size];
|
||||
}
|
||||
};
|
||||
|
||||
@@ -121,9 +130,9 @@ public final class SmartspaceSubCardUiTemplateData extends SmartspaceDefaultUiTe
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceSubCardUiTemplateData)) return false;
|
||||
if (!(o instanceof SubCardTemplateData)) return false;
|
||||
if (!super.equals(o)) return false;
|
||||
SmartspaceSubCardUiTemplateData that = (SmartspaceSubCardUiTemplateData) o;
|
||||
SubCardTemplateData that = (SubCardTemplateData) o;
|
||||
return mSubCardIcon.equals(that.mSubCardIcon) && SmartspaceUtils.isEqual(mSubCardText,
|
||||
that.mSubCardText) && Objects.equals(mSubCardAction,
|
||||
that.mSubCardAction);
|
||||
@@ -144,21 +153,21 @@ public final class SmartspaceSubCardUiTemplateData extends SmartspaceDefaultUiTe
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceSubCardUiTemplateData} object.
|
||||
* A builder for {@link SubCardTemplateData} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder extends SmartspaceDefaultUiTemplateData.Builder {
|
||||
public static final class Builder extends BaseTemplateData.Builder {
|
||||
|
||||
private final SmartspaceIcon mSubCardIcon;
|
||||
private SmartspaceText mSubCardText;
|
||||
private SmartspaceTapAction mSubCardAction;
|
||||
private final Icon mSubCardIcon;
|
||||
private Text mSubCardText;
|
||||
private TapAction mSubCardAction;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceSubCardUiTemplateData}.
|
||||
* A builder for {@link SubCardTemplateData}.
|
||||
*/
|
||||
public Builder(@NonNull SmartspaceIcon subCardIcon) {
|
||||
public Builder(@NonNull Icon subCardIcon) {
|
||||
super(SmartspaceTarget.UI_TEMPLATE_SUB_CARD);
|
||||
mSubCardIcon = Objects.requireNonNull(subCardIcon);
|
||||
}
|
||||
@@ -167,7 +176,7 @@ public final class SmartspaceSubCardUiTemplateData extends SmartspaceDefaultUiTe
|
||||
* Sets the card text.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSubCardText(@NonNull SmartspaceText subCardText) {
|
||||
public Builder setSubCardText(@NonNull Text subCardText) {
|
||||
mSubCardText = subCardText;
|
||||
return this;
|
||||
}
|
||||
@@ -176,7 +185,7 @@ public final class SmartspaceSubCardUiTemplateData extends SmartspaceDefaultUiTe
|
||||
* Sets the card tap action.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSubCardAction(@NonNull SmartspaceTapAction subCardAction) {
|
||||
public Builder setSubCardAction(@NonNull TapAction subCardAction) {
|
||||
mSubCardAction = subCardAction;
|
||||
return this;
|
||||
}
|
||||
@@ -185,8 +194,8 @@ public final class SmartspaceSubCardUiTemplateData extends SmartspaceDefaultUiTe
|
||||
* Builds a new SmartspaceSubCardUiTemplateData instance.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceSubCardUiTemplateData build() {
|
||||
return new SmartspaceSubCardUiTemplateData(getTemplateType(), getTitleText(),
|
||||
public SubCardTemplateData build() {
|
||||
return new SubCardTemplateData(getTemplateType(), getTitleText(),
|
||||
getTitleIcon(), getSubtitleText(), getSubtitleIcon(), getPrimaryTapAction(),
|
||||
getSupplementalSubtitleText(), getSupplementalSubtitleIcon(),
|
||||
getSupplementalSubtitleTapAction(), getSupplementalAlarmText(), mSubCardIcon,
|
||||
@@ -28,43 +28,50 @@ import java.util.Objects;
|
||||
/**
|
||||
* Holds all the relevant data needed to render a Smartspace card with the sub-image Ui Template.
|
||||
*
|
||||
* This template will add a sub-image card within the default-template card:
|
||||
* <ul>
|
||||
* <li> sub-image text1 </li> <ul>
|
||||
* <li> sub-image text2 </li> image (can be a GIF)
|
||||
* ... </ul>
|
||||
* </ul>
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceSubImageUiTemplateData extends SmartspaceDefaultUiTemplateData {
|
||||
public final class SubImageTemplateData extends BaseTemplateData {
|
||||
|
||||
/** Texts are shown next to the image as a vertical list */
|
||||
@NonNull
|
||||
private final List<SmartspaceText> mSubImageTexts;
|
||||
private final List<Text> mSubImageTexts;
|
||||
|
||||
/** If multiple images are passed in, they will be rendered as GIF. */
|
||||
@NonNull
|
||||
private final List<SmartspaceIcon> mSubImages;
|
||||
private final List<Icon> mSubImages;
|
||||
|
||||
/** Tap action for the sub-image secondary card. */
|
||||
@Nullable
|
||||
private final SmartspaceTapAction mSubImageAction;
|
||||
private final TapAction mSubImageAction;
|
||||
|
||||
SmartspaceSubImageUiTemplateData(@NonNull Parcel in) {
|
||||
SubImageTemplateData(@NonNull Parcel in) {
|
||||
super(in);
|
||||
mSubImageTexts = in.createTypedArrayList(SmartspaceText.CREATOR);
|
||||
mSubImages = in.createTypedArrayList(SmartspaceIcon.CREATOR);
|
||||
mSubImageAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
|
||||
mSubImageTexts = in.createTypedArrayList(Text.CREATOR);
|
||||
mSubImages = in.createTypedArrayList(Icon.CREATOR);
|
||||
mSubImageAction = in.readTypedObject(TapAction.CREATOR);
|
||||
}
|
||||
|
||||
private SmartspaceSubImageUiTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable SmartspaceText titleText,
|
||||
@Nullable SmartspaceIcon titleIcon,
|
||||
@Nullable SmartspaceText subtitleText,
|
||||
@Nullable SmartspaceIcon subTitleIcon,
|
||||
@Nullable SmartspaceTapAction primaryTapAction,
|
||||
@Nullable SmartspaceText supplementalSubtitleText,
|
||||
@Nullable SmartspaceIcon supplementalSubtitleIcon,
|
||||
@Nullable SmartspaceTapAction supplementalSubtitleTapAction,
|
||||
@Nullable SmartspaceText supplementalAlarmText,
|
||||
@NonNull List<SmartspaceText> subImageTexts,
|
||||
@NonNull List<SmartspaceIcon> subImages,
|
||||
@Nullable SmartspaceTapAction subImageAction) {
|
||||
private SubImageTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable Text titleText,
|
||||
@Nullable Icon titleIcon,
|
||||
@Nullable Text subtitleText,
|
||||
@Nullable Icon subTitleIcon,
|
||||
@Nullable TapAction primaryTapAction,
|
||||
@Nullable Text supplementalSubtitleText,
|
||||
@Nullable Icon supplementalSubtitleIcon,
|
||||
@Nullable TapAction supplementalSubtitleTapAction,
|
||||
@Nullable Text supplementalAlarmText,
|
||||
@NonNull List<Text> subImageTexts,
|
||||
@NonNull List<Icon> subImages,
|
||||
@Nullable TapAction subImageAction) {
|
||||
super(templateType, titleText, titleIcon, subtitleText, subTitleIcon, primaryTapAction,
|
||||
supplementalSubtitleText, supplementalSubtitleIcon, supplementalSubtitleTapAction,
|
||||
supplementalAlarmText);
|
||||
@@ -73,18 +80,24 @@ public final class SmartspaceSubImageUiTemplateData extends SmartspaceDefaultUiT
|
||||
mSubImageAction = subImageAction;
|
||||
}
|
||||
|
||||
/** Returns the list of sub-image card's texts. Can be empty if not being set. */
|
||||
@NonNull
|
||||
public List<SmartspaceText> getSubImageTexts() {
|
||||
public List<Text> getSubImageTexts() {
|
||||
return mSubImageTexts;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of sub-image card's image. It's a single-element list if it's a static
|
||||
* image, or a multi-elements list if it's a GIF.
|
||||
*/
|
||||
@NonNull
|
||||
public List<SmartspaceIcon> getSubImages() {
|
||||
public List<Icon> getSubImages() {
|
||||
return mSubImages;
|
||||
}
|
||||
|
||||
/** Returns the sub-image card's tap action. */
|
||||
@Nullable
|
||||
public SmartspaceTapAction getSubImageAction() {
|
||||
public TapAction getSubImageAction() {
|
||||
return mSubImageAction;
|
||||
}
|
||||
|
||||
@@ -92,16 +105,16 @@ public final class SmartspaceSubImageUiTemplateData extends SmartspaceDefaultUiT
|
||||
* @see Parcelable.Creator
|
||||
*/
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceSubImageUiTemplateData> CREATOR =
|
||||
new Creator<SmartspaceSubImageUiTemplateData>() {
|
||||
public static final Creator<SubImageTemplateData> CREATOR =
|
||||
new Creator<SubImageTemplateData>() {
|
||||
@Override
|
||||
public SmartspaceSubImageUiTemplateData createFromParcel(Parcel in) {
|
||||
return new SmartspaceSubImageUiTemplateData(in);
|
||||
public SubImageTemplateData createFromParcel(Parcel in) {
|
||||
return new SubImageTemplateData(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceSubImageUiTemplateData[] newArray(int size) {
|
||||
return new SmartspaceSubImageUiTemplateData[size];
|
||||
public SubImageTemplateData[] newArray(int size) {
|
||||
return new SubImageTemplateData[size];
|
||||
}
|
||||
};
|
||||
|
||||
@@ -121,9 +134,9 @@ public final class SmartspaceSubImageUiTemplateData extends SmartspaceDefaultUiT
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceSubImageUiTemplateData)) return false;
|
||||
if (!(o instanceof SubImageTemplateData)) return false;
|
||||
if (!super.equals(o)) return false;
|
||||
SmartspaceSubImageUiTemplateData that = (SmartspaceSubImageUiTemplateData) o;
|
||||
SubImageTemplateData that = (SubImageTemplateData) o;
|
||||
return Objects.equals(mSubImageTexts, that.mSubImageTexts)
|
||||
&& Objects.equals(mSubImages, that.mSubImages) && Objects.equals(
|
||||
mSubImageAction, that.mSubImageAction);
|
||||
@@ -144,22 +157,22 @@ public final class SmartspaceSubImageUiTemplateData extends SmartspaceDefaultUiT
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceSubImageUiTemplateData} object.
|
||||
* A builder for {@link SubImageTemplateData} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder extends SmartspaceDefaultUiTemplateData.Builder {
|
||||
public static final class Builder extends BaseTemplateData.Builder {
|
||||
|
||||
private final List<SmartspaceText> mSubImageTexts;
|
||||
private final List<SmartspaceIcon> mSubImages;
|
||||
private SmartspaceTapAction mSubImageAction;
|
||||
private final List<Text> mSubImageTexts;
|
||||
private final List<Icon> mSubImages;
|
||||
private TapAction mSubImageAction;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceSubImageUiTemplateData}.
|
||||
* A builder for {@link SubImageTemplateData}.
|
||||
*/
|
||||
public Builder(@NonNull List<SmartspaceText> subImageTexts,
|
||||
@NonNull List<SmartspaceIcon> subImages) {
|
||||
public Builder(@NonNull List<Text> subImageTexts,
|
||||
@NonNull List<Icon> subImages) {
|
||||
super(SmartspaceTarget.UI_TEMPLATE_SUB_IMAGE);
|
||||
mSubImageTexts = Objects.requireNonNull(subImageTexts);
|
||||
mSubImages = Objects.requireNonNull(subImages);
|
||||
@@ -169,7 +182,7 @@ public final class SmartspaceSubImageUiTemplateData extends SmartspaceDefaultUiT
|
||||
* Sets the card tap action.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSubImageAction(@NonNull SmartspaceTapAction subImageAction) {
|
||||
public Builder setSubImageAction(@NonNull TapAction subImageAction) {
|
||||
mSubImageAction = subImageAction;
|
||||
return this;
|
||||
}
|
||||
@@ -178,8 +191,8 @@ public final class SmartspaceSubImageUiTemplateData extends SmartspaceDefaultUiT
|
||||
* Builds a new SmartspaceSubImageUiTemplateData instance.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceSubImageUiTemplateData build() {
|
||||
return new SmartspaceSubImageUiTemplateData(getTemplateType(), getTitleText(),
|
||||
public SubImageTemplateData build() {
|
||||
return new SubImageTemplateData(getTemplateType(), getTitleText(),
|
||||
getTitleIcon(), getSubtitleText(), getSubtitleIcon(), getPrimaryTapAction(),
|
||||
getSupplementalSubtitleText(), getSupplementalSubtitleIcon(),
|
||||
getSupplementalSubtitleTapAction(), getSupplementalAlarmText(), mSubImageTexts,
|
||||
@@ -29,40 +29,48 @@ import java.util.Objects;
|
||||
/**
|
||||
* Holds all the relevant data needed to render a Smartspace card with the sub-list Ui Template.
|
||||
*
|
||||
* This template will add a sub-list card within the default-template card:
|
||||
* <ul>
|
||||
* <li> sub-list text1 sub-list icon </li>
|
||||
* <li> sub-list text2 </li>
|
||||
* <li> sub-list text3 </li>
|
||||
* ...
|
||||
* </ul>
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceSubListUiTemplateData extends SmartspaceDefaultUiTemplateData {
|
||||
public final class SubListTemplateData extends BaseTemplateData {
|
||||
|
||||
@Nullable
|
||||
private final SmartspaceIcon mSubListIcon;
|
||||
private final Icon mSubListIcon;
|
||||
@NonNull
|
||||
private final List<SmartspaceText> mSubListTexts;
|
||||
private final List<Text> mSubListTexts;
|
||||
|
||||
/** Tap action for the sub-list secondary card. */
|
||||
@Nullable
|
||||
private final SmartspaceTapAction mSubListAction;
|
||||
private final TapAction mSubListAction;
|
||||
|
||||
SmartspaceSubListUiTemplateData(@NonNull Parcel in) {
|
||||
SubListTemplateData(@NonNull Parcel in) {
|
||||
super(in);
|
||||
mSubListIcon = in.readTypedObject(SmartspaceIcon.CREATOR);
|
||||
mSubListTexts = in.createTypedArrayList(SmartspaceText.CREATOR);
|
||||
mSubListAction = in.readTypedObject(SmartspaceTapAction.CREATOR);
|
||||
mSubListIcon = in.readTypedObject(Icon.CREATOR);
|
||||
mSubListTexts = in.createTypedArrayList(Text.CREATOR);
|
||||
mSubListAction = in.readTypedObject(TapAction.CREATOR);
|
||||
}
|
||||
|
||||
private SmartspaceSubListUiTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable SmartspaceText titleText,
|
||||
@Nullable SmartspaceIcon titleIcon,
|
||||
@Nullable SmartspaceText subtitleText,
|
||||
@Nullable SmartspaceIcon subTitleIcon,
|
||||
@Nullable SmartspaceTapAction primaryTapAction,
|
||||
@Nullable SmartspaceText supplementalSubtitleText,
|
||||
@Nullable SmartspaceIcon supplementalSubtitleIcon,
|
||||
@Nullable SmartspaceTapAction supplementalSubtitleTapAction,
|
||||
@Nullable SmartspaceText supplementalAlarmText,
|
||||
@Nullable SmartspaceIcon subListIcon,
|
||||
@NonNull List<SmartspaceText> subListTexts,
|
||||
@Nullable SmartspaceTapAction subListAction) {
|
||||
private SubListTemplateData(@SmartspaceTarget.UiTemplateType int templateType,
|
||||
@Nullable Text titleText,
|
||||
@Nullable Icon titleIcon,
|
||||
@Nullable Text subtitleText,
|
||||
@Nullable Icon subTitleIcon,
|
||||
@Nullable TapAction primaryTapAction,
|
||||
@Nullable Text supplementalSubtitleText,
|
||||
@Nullable Icon supplementalSubtitleIcon,
|
||||
@Nullable TapAction supplementalSubtitleTapAction,
|
||||
@Nullable Text supplementalAlarmText,
|
||||
@Nullable Icon subListIcon,
|
||||
@NonNull List<Text> subListTexts,
|
||||
@Nullable TapAction subListAction) {
|
||||
super(templateType, titleText, titleIcon, subtitleText, subTitleIcon, primaryTapAction,
|
||||
supplementalSubtitleText, supplementalSubtitleIcon, supplementalSubtitleTapAction,
|
||||
supplementalAlarmText);
|
||||
@@ -71,18 +79,21 @@ public final class SmartspaceSubListUiTemplateData extends SmartspaceDefaultUiTe
|
||||
mSubListAction = subListAction;
|
||||
}
|
||||
|
||||
/** Returns the sub-list card's icon. */
|
||||
@Nullable
|
||||
public SmartspaceIcon getSubListIcon() {
|
||||
public Icon getSubListIcon() {
|
||||
return mSubListIcon;
|
||||
}
|
||||
|
||||
/** Returns the sub-list card's texts list. */
|
||||
@NonNull
|
||||
public List<SmartspaceText> getSubListTexts() {
|
||||
public List<Text> getSubListTexts() {
|
||||
return mSubListTexts;
|
||||
}
|
||||
|
||||
/** Returns the sub-list card's tap action. */
|
||||
@Nullable
|
||||
public SmartspaceTapAction getSubListAction() {
|
||||
public TapAction getSubListAction() {
|
||||
return mSubListAction;
|
||||
}
|
||||
|
||||
@@ -90,16 +101,16 @@ public final class SmartspaceSubListUiTemplateData extends SmartspaceDefaultUiTe
|
||||
* @see Parcelable.Creator
|
||||
*/
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceSubListUiTemplateData> CREATOR =
|
||||
new Creator<SmartspaceSubListUiTemplateData>() {
|
||||
public static final Creator<SubListTemplateData> CREATOR =
|
||||
new Creator<SubListTemplateData>() {
|
||||
@Override
|
||||
public SmartspaceSubListUiTemplateData createFromParcel(Parcel in) {
|
||||
return new SmartspaceSubListUiTemplateData(in);
|
||||
public SubListTemplateData createFromParcel(Parcel in) {
|
||||
return new SubListTemplateData(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceSubListUiTemplateData[] newArray(int size) {
|
||||
return new SmartspaceSubListUiTemplateData[size];
|
||||
public SubListTemplateData[] newArray(int size) {
|
||||
return new SubListTemplateData[size];
|
||||
}
|
||||
};
|
||||
|
||||
@@ -119,9 +130,9 @@ public final class SmartspaceSubListUiTemplateData extends SmartspaceDefaultUiTe
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceSubListUiTemplateData)) return false;
|
||||
if (!(o instanceof SubListTemplateData)) return false;
|
||||
if (!super.equals(o)) return false;
|
||||
SmartspaceSubListUiTemplateData that = (SmartspaceSubListUiTemplateData) o;
|
||||
SubListTemplateData that = (SubListTemplateData) o;
|
||||
return Objects.equals(mSubListIcon, that.mSubListIcon) && Objects.equals(
|
||||
mSubListTexts, that.mSubListTexts) && Objects.equals(mSubListAction,
|
||||
that.mSubListAction);
|
||||
@@ -142,21 +153,21 @@ public final class SmartspaceSubListUiTemplateData extends SmartspaceDefaultUiTe
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceSubListUiTemplateData} object.
|
||||
* A builder for {@link SubListTemplateData} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder extends SmartspaceDefaultUiTemplateData.Builder {
|
||||
public static final class Builder extends BaseTemplateData.Builder {
|
||||
|
||||
private SmartspaceIcon mSubListIcon;
|
||||
private final List<SmartspaceText> mSubListTexts;
|
||||
private SmartspaceTapAction mSubListAction;
|
||||
private Icon mSubListIcon;
|
||||
private final List<Text> mSubListTexts;
|
||||
private TapAction mSubListAction;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceSubListUiTemplateData}.
|
||||
* A builder for {@link SubListTemplateData}.
|
||||
*/
|
||||
public Builder(@NonNull List<SmartspaceText> subListTexts) {
|
||||
public Builder(@NonNull List<Text> subListTexts) {
|
||||
super(SmartspaceTarget.UI_TEMPLATE_SUB_LIST);
|
||||
mSubListTexts = Objects.requireNonNull(subListTexts);
|
||||
}
|
||||
@@ -165,7 +176,7 @@ public final class SmartspaceSubListUiTemplateData extends SmartspaceDefaultUiTe
|
||||
* Sets the sub-list card icon.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSubListIcon(@NonNull SmartspaceIcon subListIcon) {
|
||||
public Builder setSubListIcon(@NonNull Icon subListIcon) {
|
||||
mSubListIcon = subListIcon;
|
||||
return this;
|
||||
}
|
||||
@@ -174,7 +185,7 @@ public final class SmartspaceSubListUiTemplateData extends SmartspaceDefaultUiTe
|
||||
* Sets the card tap action.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setSubListAction(@NonNull SmartspaceTapAction subListAction) {
|
||||
public Builder setSubListAction(@NonNull TapAction subListAction) {
|
||||
mSubListAction = subListAction;
|
||||
return this;
|
||||
}
|
||||
@@ -183,8 +194,8 @@ public final class SmartspaceSubListUiTemplateData extends SmartspaceDefaultUiTe
|
||||
* Builds a new SmartspaceSubListUiTemplateData instance.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceSubListUiTemplateData build() {
|
||||
return new SmartspaceSubListUiTemplateData(getTemplateType(), getTitleText(),
|
||||
public SubListTemplateData build() {
|
||||
return new SubListTemplateData(getTemplateType(), getTitleText(),
|
||||
getTitleIcon(), getSubtitleText(), getSubtitleIcon(), getPrimaryTapAction(),
|
||||
getSupplementalSubtitleText(), getSupplementalSubtitleIcon(),
|
||||
getSupplementalSubtitleTapAction(), getSupplementalAlarmText(), mSubListIcon,
|
||||
@@ -33,7 +33,7 @@ import android.text.TextUtils;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* A {@link SmartspaceTapAction} represents an action which can be taken by a user by tapping on
|
||||
* A {@link TapAction} represents an action which can be taken by a user by tapping on
|
||||
* either the title, the subtitle or on the icon. Supported instances are Intents and
|
||||
* PendingIntents. These actions can be called from another process or within the client process.
|
||||
*
|
||||
@@ -42,9 +42,9 @@ import java.util.Objects;
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceTapAction implements Parcelable {
|
||||
public final class TapAction implements Parcelable {
|
||||
|
||||
/** A unique Id of this {@link SmartspaceTapAction}. */
|
||||
/** A unique Id of this {@link TapAction}. */
|
||||
@Nullable
|
||||
private final CharSequence mId;
|
||||
|
||||
@@ -60,7 +60,7 @@ public final class SmartspaceTapAction implements Parcelable {
|
||||
@Nullable
|
||||
private Bundle mExtras;
|
||||
|
||||
SmartspaceTapAction(@NonNull Parcel in) {
|
||||
TapAction(@NonNull Parcel in) {
|
||||
mId = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
||||
mIntent = in.readTypedObject(Intent.CREATOR);
|
||||
mPendingIntent = in.readTypedObject(PendingIntent.CREATOR);
|
||||
@@ -68,7 +68,7 @@ public final class SmartspaceTapAction implements Parcelable {
|
||||
mExtras = in.readBundle();
|
||||
}
|
||||
|
||||
private SmartspaceTapAction(@Nullable CharSequence id, @Nullable Intent intent,
|
||||
private TapAction(@Nullable CharSequence id, @Nullable Intent intent,
|
||||
@Nullable PendingIntent pendingIntent, @Nullable UserHandle userHandle,
|
||||
@Nullable Bundle extras) {
|
||||
mId = id;
|
||||
@@ -78,27 +78,32 @@ public final class SmartspaceTapAction implements Parcelable {
|
||||
mExtras = extras;
|
||||
}
|
||||
|
||||
/** Returns the unique id of the tap action. */
|
||||
@Nullable
|
||||
public CharSequence getId() {
|
||||
return mId;
|
||||
}
|
||||
|
||||
/** Returns the intent of the tap action. */
|
||||
@SuppressLint("IntentBuilderName")
|
||||
@Nullable
|
||||
public Intent getIntent() {
|
||||
return mIntent;
|
||||
}
|
||||
|
||||
/** Returns the pending intent of the tap action. */
|
||||
@Nullable
|
||||
public PendingIntent getPendingIntent() {
|
||||
return mPendingIntent;
|
||||
}
|
||||
|
||||
/** Returns the user handle of the tap action. */
|
||||
@Nullable
|
||||
public UserHandle getUserHandle() {
|
||||
return mUserHandle;
|
||||
}
|
||||
|
||||
/** Returns the extras bundle of the tap action. */
|
||||
@Nullable
|
||||
@SuppressLint("NullableCollection")
|
||||
public Bundle getExtras() {
|
||||
@@ -120,23 +125,23 @@ public final class SmartspaceTapAction implements Parcelable {
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceTapAction> CREATOR = new Creator<SmartspaceTapAction>() {
|
||||
public static final Creator<TapAction> CREATOR = new Creator<TapAction>() {
|
||||
@Override
|
||||
public SmartspaceTapAction createFromParcel(Parcel in) {
|
||||
return new SmartspaceTapAction(in);
|
||||
public TapAction createFromParcel(Parcel in) {
|
||||
return new TapAction(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceTapAction[] newArray(int size) {
|
||||
return new SmartspaceTapAction[size];
|
||||
public TapAction[] newArray(int size) {
|
||||
return new TapAction[size];
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceTapAction)) return false;
|
||||
SmartspaceTapAction that = (SmartspaceTapAction) o;
|
||||
if (!(o instanceof TapAction)) return false;
|
||||
TapAction that = (TapAction) o;
|
||||
return SmartspaceUtils.isEqual(mId, that.mId);
|
||||
}
|
||||
|
||||
@@ -157,7 +162,7 @@ public final class SmartspaceTapAction implements Parcelable {
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceTapAction} object.
|
||||
* A builder for {@link TapAction} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@@ -171,9 +176,9 @@ public final class SmartspaceTapAction implements Parcelable {
|
||||
private Bundle mExtras;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceTapAction}.
|
||||
* A builder for {@link TapAction}.
|
||||
*
|
||||
* @param id A unique Id of this {@link SmartspaceTapAction}.
|
||||
* @param id A unique Id of this {@link TapAction}.
|
||||
*/
|
||||
public Builder(@NonNull CharSequence id) {
|
||||
mId = Objects.requireNonNull(id);
|
||||
@@ -222,11 +227,11 @@ public final class SmartspaceTapAction implements Parcelable {
|
||||
* @throws IllegalStateException if the tap action is empty.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceTapAction build() {
|
||||
public TapAction build() {
|
||||
if (mIntent == null && mPendingIntent == null && mExtras == null) {
|
||||
throw new IllegalStateException("Please assign at least 1 valid tap field");
|
||||
}
|
||||
return new SmartspaceTapAction(mId, mIntent, mPendingIntent, mUserHandle, mExtras);
|
||||
return new TapAction(mId, mIntent, mPendingIntent, mUserHandle, mExtras);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,43 +32,54 @@ import java.util.Objects;
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SmartspaceText implements Parcelable {
|
||||
public final class Text implements Parcelable {
|
||||
|
||||
@NonNull
|
||||
private final CharSequence mText;
|
||||
|
||||
private final TextUtils.TruncateAt mTruncateAtType;
|
||||
|
||||
SmartspaceText(Parcel in) {
|
||||
private final int mMaxLines;
|
||||
|
||||
Text(Parcel in) {
|
||||
mText = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
||||
mTruncateAtType = TextUtils.TruncateAt.valueOf(in.readString());
|
||||
mMaxLines = in.readInt();
|
||||
}
|
||||
|
||||
private SmartspaceText(@NonNull CharSequence text, TextUtils.TruncateAt truncateAtType) {
|
||||
private Text(@NonNull CharSequence text, TextUtils.TruncateAt truncateAtType, int maxLines) {
|
||||
mText = text;
|
||||
mTruncateAtType = truncateAtType;
|
||||
mMaxLines = maxLines;
|
||||
}
|
||||
|
||||
/** Returns the text content. */
|
||||
@NonNull
|
||||
public CharSequence getText() {
|
||||
return mText;
|
||||
}
|
||||
|
||||
/** Returns the {@link TextUtils.TruncateAt} type of the text content. */
|
||||
@NonNull
|
||||
public TextUtils.TruncateAt getTruncateAtType() {
|
||||
return mTruncateAtType;
|
||||
}
|
||||
|
||||
/** Returns the allowed max lines for presenting the text content. */
|
||||
public int getMaxLines() {
|
||||
return mMaxLines;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static final Creator<SmartspaceText> CREATOR = new Creator<SmartspaceText>() {
|
||||
public static final Creator<Text> CREATOR = new Creator<Text>() {
|
||||
@Override
|
||||
public SmartspaceText createFromParcel(Parcel in) {
|
||||
return new SmartspaceText(in);
|
||||
public Text createFromParcel(Parcel in) {
|
||||
return new Text(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmartspaceText[] newArray(int size) {
|
||||
return new SmartspaceText[size];
|
||||
public Text[] newArray(int size) {
|
||||
return new Text[size];
|
||||
}
|
||||
};
|
||||
|
||||
@@ -80,25 +91,26 @@ public final class SmartspaceText implements Parcelable {
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof SmartspaceText)) return false;
|
||||
SmartspaceText that = (SmartspaceText) o;
|
||||
if (!(o instanceof Text)) return false;
|
||||
Text that = (Text) o;
|
||||
return mTruncateAtType == that.mTruncateAtType && SmartspaceUtils.isEqual(mText,
|
||||
that.mText);
|
||||
that.mText) && mMaxLines == that.mMaxLines;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(mText, mTruncateAtType);
|
||||
return Objects.hash(mText, mTruncateAtType, mMaxLines);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel out, int flags) {
|
||||
TextUtils.writeToParcel(mText, out, flags);
|
||||
out.writeString(mTruncateAtType.name());
|
||||
out.writeInt(mMaxLines);
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceText} object.
|
||||
* A builder for {@link Text} object.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@@ -106,25 +118,31 @@ public final class SmartspaceText implements Parcelable {
|
||||
public static final class Builder {
|
||||
private final CharSequence mText;
|
||||
private TextUtils.TruncateAt mTruncateAtType;
|
||||
private int mMaxLines;
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceText}, which sets TruncateAtType to AT_END by default.
|
||||
* A builder for {@link Text}, which by default sets TruncateAtType to AT_END, and the max
|
||||
* lines to 1.
|
||||
*/
|
||||
public Builder(@NonNull CharSequence text) {
|
||||
mText = Objects.requireNonNull(text);
|
||||
mTruncateAtType = TextUtils.TruncateAt.END;
|
||||
mMaxLines = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder for {@link SmartspaceText}.
|
||||
* A builder for {@link Text} with specifying {@link TextUtils.TruncateAt} type, and by
|
||||
* default set the max lines to 1.
|
||||
*/
|
||||
public Builder(@NonNull CharSequence text, @NonNull TextUtils.TruncateAt truncateAtType) {
|
||||
mText = Objects.requireNonNull(text);
|
||||
mTruncateAtType = Objects.requireNonNull(truncateAtType);
|
||||
mMaxLines = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets truncateAtType.
|
||||
* Sets truncateAtType, where the text content should be truncated if not all the content
|
||||
* can be presented.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setTruncateAtType(@NonNull TextUtils.TruncateAt truncateAtType) {
|
||||
@@ -132,12 +150,21 @@ public final class SmartspaceText implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the allowed max lines for the text content.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setMaxLines(int maxLines) {
|
||||
mMaxLines = maxLines;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds a new SmartspaceText instance.
|
||||
*/
|
||||
@NonNull
|
||||
public SmartspaceText build() {
|
||||
return new SmartspaceText(mText, mTruncateAtType);
|
||||
public Text build() {
|
||||
return new Text(mText, mTruncateAtType, mMaxLines);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ import android.app.PendingIntent;
|
||||
import android.app.smartspace.SmartspaceAction;
|
||||
import android.app.smartspace.SmartspaceTarget;
|
||||
import android.app.smartspace.SmartspaceTargetEvent;
|
||||
import android.app.smartspace.uitemplatedata.SmartspaceTapAction;
|
||||
import android.app.smartspace.uitemplatedata.TapAction;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
@@ -144,7 +144,7 @@ public interface BcSmartspaceDataPlugin extends Plugin {
|
||||
}
|
||||
}
|
||||
|
||||
default void startFromAction(SmartspaceTapAction action, View v, boolean showOnLockscreen) {
|
||||
default void startFromAction(TapAction action, View v, boolean showOnLockscreen) {
|
||||
try {
|
||||
if (action.getIntent() != null) {
|
||||
startIntent(v, action.getIntent(), showOnLockscreen);
|
||||
|
||||
Reference in New Issue
Block a user