summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api/current.txt16
-rw-r--r--media/java/android/media/tv/interactive/AppLinkInfo.java150
2 files changed, 27 insertions, 139 deletions
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<android.media.tv.interactive.AppLinkInfo> 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<android.media.tv.interactive.TvInteractiveAppServiceInfo> 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;
- }
- }
}