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

Commit a4691b23 authored by Yixiao Luo's avatar Yixiao Luo Committed by Android (Google) Code Review
Browse files

Merge "TIAF: Change on API Review: DTV to VOD 2" into tm-dev

parents ef3f71bf 84edd3f6
Loading
Loading
Loading
Loading
+3 −13
Original line number Diff line number Diff line
@@ -26119,24 +26119,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 registerAppLinkInfo(@NonNull String, @NonNull android.media.tv.interactive.AppLinkInfo);
+24 −126
Original line number Diff line number Diff line
@@ -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;
        }
    }
}