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

Commit 6927948d authored by Cecilia's avatar Cecilia
Browse files

Add all the Smartspace UI templates' corresponding data classes.

- SmartspaceDefaultUiTemplateData represents the data of a Smartspace
card with the default UI template;
- Other templates' data classes are all subclasses of
SmartspaceDefaultUiTemplateData;
- SmartspaceIcon and SmartspaceTapAction are the newly-added primitives.

More details in go/ss-launcher-templated-ui.

Test: tested locally
Bug:213926964,212650337
CTS-Coverage-Bug:214471292

Change-Id: I056c49e3db7060697be4a3a8f51358802f2610b0
parent f3366dcd
Loading
Loading
Loading
Loading
+181 −0
Original line number Diff line number Diff line
@@ -1837,6 +1837,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 @NonNull public android.os.UserHandle getUserHandle();
    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
    method public boolean isSensitive();
@@ -1867,6 +1868,14 @@ package android.app.smartspace {
    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
    field public static final int FEATURE_WEATHER = 1; // 0x1
    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
    field public static final int UI_TEMPLATE_CAROUSEL = 4; // 0x4
    field public static final int UI_TEMPLATE_COMBINED_CARDS = 6; // 0x6
    field public static final int UI_TEMPLATE_DEFAULT = 1; // 0x1
    field public static final int UI_TEMPLATE_HEAD_TO_HEAD = 5; // 0x5
    field public static final int UI_TEMPLATE_SUB_CARD = 7; // 0x7
    field public static final int UI_TEMPLATE_SUB_IMAGE = 2; // 0x2
    field public static final int UI_TEMPLATE_SUB_LIST = 3; // 0x3
    field public static final int UI_TEMPLATE_UNDEFINED = 0; // 0x0
  }
  public static final class SmartspaceTarget.Builder {
@@ -1885,6 +1894,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 setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
  }
@@ -1913,6 +1923,177 @@ 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 {
    method public int describeContents();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getImage();
    method @Nullable public CharSequence getLowerText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getTapAction();
    method @Nullable public CharSequence 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 CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem.Builder setTapAction(@Nullable android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceCarouselUiTemplateData.CarouselItem.Builder setUpperText(@Nullable CharSequence);
  }
  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 CharSequence getSubtitleText();
    method @Nullable public CharSequence getSupplementalAlarmText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getSupplementalSubtitleIcon();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getSupplementalSubtitleTapAction();
    method @Nullable public CharSequence getSupplementalSubtitleText();
    method public int getTemplateType();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getTitleIcon();
    method @Nullable public CharSequence 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;
  }
  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 CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalAlarmText(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalSubtitleIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalSubtitleTapAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setSupplementalSubtitleText(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setTitleIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder setTitleText(@NonNull CharSequence);
  }
  public final class SmartspaceHeadToHeadUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getHeadToHeadAction();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getHeadToHeadFirstCompetitorIcon();
    method @Nullable public CharSequence getHeadToHeadFirstCompetitorText();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getHeadToHeadSecondCompetitorIcon();
    method @Nullable public CharSequence getHeadToHeadSecondCompetitorText();
    method @Nullable public CharSequence getHeadToHeadTitle();
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData> 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 CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadSecondCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceHeadToHeadUiTemplateData.Builder setHeadToHeadTitle(@Nullable CharSequence);
  }
  public final class SmartspaceIcon implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public CharSequence getContentDescription();
    method @NonNull public android.graphics.drawable.Icon getIcon();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceIcon> 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);
  }
  public final class SmartspaceSubCardUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getSubCardAction();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceIcon getSubCardIcon();
    method @Nullable public CharSequence getSubCardText();
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData> CREATOR;
  }
  public static final class SmartspaceSubCardUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
    ctor public SmartspaceSubCardUiTemplateData.Builder(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData.Builder setSubCardAction(@NonNull CharSequence);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubCardUiTemplateData.Builder setSubCardAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
  }
  public final class SmartspaceSubImageUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getSubImageAction();
    method @NonNull public java.util.List<java.lang.CharSequence> getSubImageTexts();
    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.SmartspaceIcon> getSubImages();
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceSubImageUiTemplateData> CREATOR;
  }
  public static final class SmartspaceSubImageUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
    ctor public SmartspaceSubImageUiTemplateData.Builder(@NonNull java.util.List<java.lang.CharSequence>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.SmartspaceIcon>);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubImageUiTemplateData build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubImageUiTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
  }
  public final class SmartspaceSubListUiTemplateData extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData {
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceTapAction getSubListAction();
    method @Nullable public android.app.smartspace.uitemplatedata.SmartspaceIcon getSubListIcon();
    method @NonNull public java.util.List<java.lang.CharSequence> getSubListTexts();
    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData> CREATOR;
  }
  public static final class SmartspaceSubListUiTemplateData.Builder extends android.app.smartspace.uitemplatedata.SmartspaceDefaultUiTemplateData.Builder {
    ctor public SmartspaceSubListUiTemplateData.Builder(@NonNull java.util.List<java.lang.CharSequence>);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData build();
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.SmartspaceTapAction);
    method @NonNull public android.app.smartspace.uitemplatedata.SmartspaceSubListUiTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.SmartspaceIcon);
  }
  public final class SmartspaceTapAction implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public android.os.Bundle getExtras();
    method @Nullable public CharSequence getId();
    method @Nullable public android.content.Intent getIntent();
    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;
  }
  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);
  }
}
package android.app.time {
  public final class Capabilities {
+61 −6
Original line number Diff line number Diff line
@@ -20,6 +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.appwidget.AppWidgetProviderInfo;
import android.content.ComponentName;
import android.net.Uri;
@@ -131,6 +132,9 @@ public final class SmartspaceTarget implements Parcelable {
    @Nullable
    private final AppWidgetProviderInfo mWidget;

    @Nullable
    private final SmartspaceDefaultUiTemplateData mTemplateData;

    public static final int FEATURE_UNDEFINED = 0;
    public static final int FEATURE_WEATHER = 1;
    public static final int FEATURE_CALENDAR = 2;
@@ -189,6 +193,32 @@ public final class SmartspaceTarget implements Parcelable {
    public @interface FeatureType {
    }

    public static final int UI_TEMPLATE_UNDEFINED = 0;
    public static final int UI_TEMPLATE_DEFAULT = 1;
    public static final int UI_TEMPLATE_SUB_IMAGE = 2;
    public static final int UI_TEMPLATE_SUB_LIST = 3;
    public static final int UI_TEMPLATE_CAROUSEL = 4;
    public static final int UI_TEMPLATE_HEAD_TO_HEAD = 5;
    public static final int UI_TEMPLATE_COMBINED_CARDS = 6;
    public static final int UI_TEMPLATE_SUB_CARD = 7;

    /**
     * @hide
     */
    @IntDef(prefix = {"UI_TEMPLATE_"}, value = {
            UI_TEMPLATE_UNDEFINED,
            UI_TEMPLATE_DEFAULT,
            UI_TEMPLATE_SUB_IMAGE,
            UI_TEMPLATE_SUB_LIST,
            UI_TEMPLATE_CAROUSEL,
            UI_TEMPLATE_HEAD_TO_HEAD,
            UI_TEMPLATE_COMBINED_CARDS,
            UI_TEMPLATE_SUB_CARD
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface UiTemplateType {
    }

    private SmartspaceTarget(Parcel in) {
        this.mSmartspaceTargetId = in.readString();
        this.mHeaderAction = in.readTypedObject(SmartspaceAction.CREATOR);
@@ -207,6 +237,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);
    }

    private SmartspaceTarget(String smartspaceTargetId,
@@ -217,7 +248,7 @@ public final class SmartspaceTarget implements Parcelable {
            boolean shouldShowExpanded, String sourceNotificationKey,
            ComponentName componentName, UserHandle userHandle,
            String associatedSmartspaceTargetId, Uri sliceUri,
            AppWidgetProviderInfo widget) {
            AppWidgetProviderInfo widget, SmartspaceDefaultUiTemplateData templateData) {
        mSmartspaceTargetId = smartspaceTargetId;
        mHeaderAction = headerAction;
        mBaseAction = baseAction;
@@ -235,6 +266,7 @@ public final class SmartspaceTarget implements Parcelable {
        mAssociatedSmartspaceTargetId = associatedSmartspaceTargetId;
        mSliceUri = sliceUri;
        mWidget = widget;
        mTemplateData = templateData;
    }

    /**
@@ -370,6 +402,14 @@ public final class SmartspaceTarget implements Parcelable {
        return mWidget;
    }

    /**
     * Returns the UI template data.
     */
    @Nullable
    public SmartspaceDefaultUiTemplateData getTemplateData() {
        return mTemplateData;
    }

    /**
     * @see Parcelable.Creator
     */
@@ -405,6 +445,7 @@ public final class SmartspaceTarget implements Parcelable {
        dest.writeString(this.mAssociatedSmartspaceTargetId);
        dest.writeTypedObject(this.mSliceUri, flags);
        dest.writeTypedObject(this.mWidget, flags);
        dest.writeTypedObject(this.mTemplateData, flags);
    }

    @Override
@@ -432,6 +473,7 @@ public final class SmartspaceTarget implements Parcelable {
                + ", mAssociatedSmartspaceTargetId='" + mAssociatedSmartspaceTargetId + '\''
                + ", mSliceUri=" + mSliceUri
                + ", mWidget=" + mWidget
                + ", mTemplateData=" + mTemplateData
                + '}';
    }

@@ -457,7 +499,8 @@ public final class SmartspaceTarget implements Parcelable {
                && Objects.equals(mAssociatedSmartspaceTargetId,
                that.mAssociatedSmartspaceTargetId)
                && Objects.equals(mSliceUri, that.mSliceUri)
                && Objects.equals(mWidget, that.mWidget);
                && Objects.equals(mWidget, that.mWidget)
                && Objects.equals(mTemplateData, that.mTemplateData);
    }

    @Override
@@ -465,7 +508,7 @@ public final class SmartspaceTarget implements Parcelable {
        return Objects.hash(mSmartspaceTargetId, mHeaderAction, mBaseAction, mCreationTimeMillis,
                mExpiryTimeMillis, mScore, mActionChips, mIconGrid, mFeatureType, mSensitive,
                mShouldShowExpanded, mSourceNotificationKey, mComponentName, mUserHandle,
                mAssociatedSmartspaceTargetId, mSliceUri, mWidget);
                mAssociatedSmartspaceTargetId, mSliceUri, mWidget, mTemplateData);
    }

    /**
@@ -476,6 +519,9 @@ public final class SmartspaceTarget implements Parcelable {
    @SystemApi
    public static final class Builder {
        private final String mSmartspaceTargetId;
        private final ComponentName mComponentName;
        private final UserHandle mUserHandle;

        private SmartspaceAction mHeaderAction;
        private SmartspaceAction mBaseAction;
        private long mCreationTimeMillis;
@@ -487,11 +533,10 @@ public final class SmartspaceTarget implements Parcelable {
        private boolean mSensitive;
        private boolean mShouldShowExpanded;
        private String mSourceNotificationKey;
        private final ComponentName mComponentName;
        private final UserHandle mUserHandle;
        private String mAssociatedSmartspaceTargetId;
        private Uri mSliceUri;
        private AppWidgetProviderInfo mWidget;
        private SmartspaceDefaultUiTemplateData mTemplateData;

        /**
         * A builder for {@link SmartspaceTarget}.
@@ -639,6 +684,16 @@ public final class SmartspaceTarget implements Parcelable {
            return this;
        }

        /**
         * Sets the UI template data.
         */
        @NonNull
        public Builder setTemplateData(
                @Nullable SmartspaceDefaultUiTemplateData templateData) {
            mTemplateData = templateData;
            return this;
        }

        /**
         * Builds a new {@link SmartspaceTarget}.
         *
@@ -655,7 +710,7 @@ public final class SmartspaceTarget implements Parcelable {
                    mHeaderAction, mBaseAction, mCreationTimeMillis, mExpiryTimeMillis, mScore,
                    mActionChips, mIconGrid, mFeatureType, mSensitive, mShouldShowExpanded,
                    mSourceNotificationKey, mComponentName, mUserHandle,
                    mAssociatedSmartspaceTargetId, mSliceUri, mWidget);
                    mAssociatedSmartspaceTargetId, mSliceUri, mWidget, mTemplateData);
        }
    }
}
+37 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2022 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.app.smartspace;

import android.annotation.Nullable;

/**
 * Utilities for Smartspace data.
 *
 * @hide
 */
public final class SmartspaceUtils {

    private SmartspaceUtils() {
    }

    /** Returns true if the passed-in {@link CharSequence}s are equal. */
    public static boolean isEqual(@Nullable CharSequence cs1, @Nullable CharSequence cs2) {
        if ((cs1 == null && cs2 != null) || (cs1 != null && cs2 == null)) return false;
        if (cs1 == null && cs2 == null) return true;
        return cs1.toString().contentEquals(cs2);
    }
}
+360 −0

File added.

Preview size limit exceeded, changes collapsed.

+155 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading