diff --git a/core/api/current.txt b/core/api/current.txt index 3f12b6ca7d64..ac6548bf1a59 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -26092,24 +26092,14 @@ package android.media.tv { package android.media.tv.interactive { public final class AppLinkInfo implements android.os.Parcelable { + ctor public AppLinkInfo(@NonNull String, @NonNull String, @NonNull String); method public int describeContents(); - method @NonNull public String getClassName(); - method @NonNull public String getPackageName(); - method @Nullable public String getUriHost(); - method @Nullable public String getUriPrefix(); - method @Nullable public String getUriScheme(); + method @NonNull public android.content.ComponentName getComponentName(); + method @NonNull public android.net.Uri getUri(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator CREATOR; } - public static final class AppLinkInfo.Builder { - ctor public AppLinkInfo.Builder(@NonNull String, @NonNull String); - method @NonNull public android.media.tv.interactive.AppLinkInfo build(); - method @NonNull public android.media.tv.interactive.AppLinkInfo.Builder setUriHost(@NonNull String); - method @NonNull public android.media.tv.interactive.AppLinkInfo.Builder setUriPrefix(@NonNull String); - method @NonNull public android.media.tv.interactive.AppLinkInfo.Builder setUriScheme(@NonNull String); - } - public final class TvInteractiveAppManager { method @NonNull public java.util.List getTvInteractiveAppServiceList(); method public void prepare(@NonNull String, int); diff --git a/media/java/android/media/tv/interactive/AppLinkInfo.java b/media/java/android/media/tv/interactive/AppLinkInfo.java index 0eb6fa8996d6..f1f02a9077cf 100644 --- a/media/java/android/media/tv/interactive/AppLinkInfo.java +++ b/media/java/android/media/tv/interactive/AppLinkInfo.java @@ -17,8 +17,8 @@ package android.media.tv.interactive; import android.annotation.NonNull; -import android.annotation.Nullable; import android.content.ComponentName; +import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; @@ -27,68 +27,41 @@ import android.os.Parcelable; */ public final class AppLinkInfo implements Parcelable { private @NonNull ComponentName mComponentName; - private @Nullable String mUriScheme; - private @Nullable String mUriHost; - private @Nullable String mUriPrefix; - + private @NonNull Uri mUri; /** * Creates a new AppLinkInfo. + * + * @param packageName Package Name of AppLinkInfo. + * @param className Class Name of AppLinkInfo. + * @param uriString Uri of AppLinkInfo. */ - private AppLinkInfo( + public AppLinkInfo( @NonNull String packageName, @NonNull String className, - @Nullable String uriScheme, - @Nullable String uriHost, - @Nullable String uriPrefix) { + @NonNull String uriString) { com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, packageName); com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, className); this.mComponentName = new ComponentName(packageName, className); - this.mUriScheme = uriScheme; - this.mUriHost = uriHost; - this.mUriPrefix = uriPrefix; + this.mUri = Uri.parse(uriString); } /** - * Gets package name of the App link. + * Gets component name of the App link, which contains package name and class name. */ @NonNull - public String getPackageName() { - return mComponentName.getPackageName(); + public ComponentName getComponentName() { + return mComponentName; } /** - * Gets package class of the App link. + * Gets URI of the App link. */ @NonNull - public String getClassName() { - return mComponentName.getClassName(); - } - - /** - * Gets URI scheme of the App link. - */ - @Nullable - public String getUriScheme() { - return mUriScheme; - } - - /** - * Gets URI host of the App link. - */ - @Nullable - public String getUriHost() { - return mUriHost; - } - - /** - * Gets URI prefix of the App link. - */ - @Nullable - public String getUriPrefix() { - return mUriPrefix; + public Uri getUri() { + return mUri; } @Override @@ -96,19 +69,15 @@ public final class AppLinkInfo implements Parcelable { return "AppLinkInfo { " + "packageName = " + mComponentName.getPackageName() + ", " + "className = " + mComponentName.getClassName() + ", " - + "uriScheme = " + mUriScheme + ", " - + "uriHost = " + mUriHost + ", " - + "uriPrefix = " + mUriPrefix + + "uri = " + mUri.toString() + " }"; } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - dest.writeString(mComponentName.getPackageName()); - dest.writeString(mComponentName.getClassName()); - dest.writeString(mUriScheme); - dest.writeString(mUriHost); - dest.writeString(mUriPrefix); + mComponentName.writeToParcel(dest, flags); + String uriString = mUri == null ? null : mUri.toString(); + dest.writeString(uriString); } @Override @@ -117,20 +86,13 @@ public final class AppLinkInfo implements Parcelable { } /* package-private */ AppLinkInfo(@NonNull Parcel in) { - String packageName = in.readString(); - String className = in.readString(); - String uriScheme = in.readString(); - String uriHost = in.readString(); - String uriPrefix = in.readString(); - + mComponentName = ComponentName.readFromParcel(in); com.android.internal.util.AnnotationValidations.validate( - NonNull.class, null, packageName); + NonNull.class, null, mComponentName.getPackageName()); com.android.internal.util.AnnotationValidations.validate( - NonNull.class, null, className); - this.mComponentName = new ComponentName(packageName, className); - this.mUriScheme = uriScheme; - this.mUriHost = uriHost; - this.mUriPrefix = uriPrefix; + NonNull.class, null, mComponentName.getClassName()); + String uriString = in.readString(); + mUri = uriString == null ? null : Uri.parse(uriString); } @NonNull @@ -146,68 +108,4 @@ public final class AppLinkInfo implements Parcelable { return new AppLinkInfo(in); } }; - - /** - * A builder for {@link AppLinkInfo} - */ - public static final class Builder { - private @NonNull String mPackageName; - private @NonNull String mClassName; - private @Nullable String mUriScheme; - private @Nullable String mUriHost; - private @Nullable String mUriPrefix; - - /** - * Creates a new Builder. - */ - public Builder( - @NonNull String packageName, - @NonNull String className) { - mPackageName = packageName; - com.android.internal.util.AnnotationValidations.validate( - NonNull.class, null, mPackageName); - mClassName = className; - com.android.internal.util.AnnotationValidations.validate( - NonNull.class, null, mClassName); - } - - /** - * Sets URI scheme of the App link. - */ - @NonNull - public Builder setUriScheme(@NonNull String value) { - mUriScheme = value; - return this; - } - - /** - * Sets URI host of the App link. - */ - @NonNull - public Builder setUriHost(@NonNull String value) { - mUriHost = value; - return this; - } - - /** - * Sets URI prefix of the App link. - */ - @NonNull - public Builder setUriPrefix(@NonNull String value) { - mUriPrefix = value; - return this; - } - - /** Builds the instance. This builder should not be touched after calling this! */ - @NonNull - public AppLinkInfo build() { - AppLinkInfo o = new AppLinkInfo( - mPackageName, - mClassName, - mUriScheme, - mUriHost, - mUriPrefix); - return o; - } - } }