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

Commit 8aa17355 authored by joonhunshin's avatar joonhunshin Committed by Joonhun Shin
Browse files

Support RCS master switch

Add flag which indicate RCS enable or disable by user in
RcsClientConfiguration class

BUG: b/202892135
Test: cts CtsTelephonyTestCases:RcsClientConfigurationTest
Change-Id: Ic4397cb167f38602883ba939b75e109edccfb028
Merged-In: Ic4397cb167f38602883ba939b75e109edccfb028
parent 40eb4030
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -13489,12 +13489,14 @@ package android.telephony.ims {
  }
  }
  public final class RcsClientConfiguration implements android.os.Parcelable {
  public final class RcsClientConfiguration implements android.os.Parcelable {
    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
    ctor @Deprecated public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String, boolean);
    method public int describeContents();
    method public int describeContents();
    method @NonNull public String getClientVendor();
    method @NonNull public String getClientVendor();
    method @NonNull public String getClientVersion();
    method @NonNull public String getClientVersion();
    method @NonNull public String getRcsProfile();
    method @NonNull public String getRcsProfile();
    method @NonNull public String getRcsVersion();
    method @NonNull public String getRcsVersion();
    method public boolean isRcsEnabledByUser();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
+47 −3
Original line number Original line Diff line number Diff line
@@ -50,6 +50,7 @@ public final class RcsClientConfiguration implements Parcelable {
    private String mRcsProfile;
    private String mRcsProfile;
    private String mClientVendor;
    private String mClientVendor;
    private String mClientVersion;
    private String mClientVersion;
    private boolean mRcsEnabledByUser;


    /**
    /**
     * Create a RcsClientConfiguration object.
     * Create a RcsClientConfiguration object.
@@ -63,14 +64,41 @@ public final class RcsClientConfiguration implements Parcelable {
     * @param clientVersion Identifies the RCS client version. Refer to GSMA
     * @param clientVersion Identifies the RCS client version. Refer to GSMA
     * RCC.07 "client_version" parameter.
     * RCC.07 "client_version" parameter.
     * Example:client_version=RCSAndrd-1.0
     * Example:client_version=RCSAndrd-1.0
     * @deprecated Use {@link #RcsClientConfiguration(String, String, String, String, boolean)}
     * instead. Deprecated prototype assumes that the user setting controlling RCS is enabled.
     */
     */
    @Deprecated
    public RcsClientConfiguration(@NonNull String rcsVersion,
    public RcsClientConfiguration(@NonNull String rcsVersion,
            @NonNull @StringRcsProfile String rcsProfile,
            @NonNull @StringRcsProfile String rcsProfile,
            @NonNull String clientVendor, @NonNull String clientVersion) {
            @NonNull String clientVendor, @NonNull String clientVersion) {
        this(rcsVersion, rcsProfile, clientVendor, clientVersion, true);
    }

    /**
     * Create a RcsClientConfiguration object.
     * Default messaging application must pass a valid configuration object
     * @param rcsVersion The parameter identifies the RCS version supported
     * by the client. Refer to GSMA RCC.07 "rcs_version" parameter.
     * @param rcsProfile Identifies a fixed set of RCS services that are
     * supported by the client. See {@link #RCS_PROFILE_1_0 } or
     * {@link #RCS_PROFILE_2_3 }
     * @param clientVendor Identifies the vendor providing the RCS client.
     * @param clientVersion Identifies the RCS client version. Refer to GSMA
     * RCC.07 "client_version" parameter.
     * Example:client_version=RCSAndrd-1.0
     * @param isRcsEnabledByUser The current user setting for whether or not the user has
     * enabled or disabled RCS. Please refer to GSMA RCC.07 "rcs_state" parameter for how this
     * can affect provisioning.
     */
    public RcsClientConfiguration(@NonNull String rcsVersion,
            @NonNull @StringRcsProfile String rcsProfile,
            @NonNull String clientVendor, @NonNull String clientVersion,
            boolean isRcsEnabledByUser) {
        mRcsVersion = rcsVersion;
        mRcsVersion = rcsVersion;
        mRcsProfile = rcsProfile;
        mRcsProfile = rcsProfile;
        mClientVendor = clientVendor;
        mClientVendor = clientVendor;
        mClientVersion = clientVersion;
        mClientVersion = clientVersion;
        mRcsEnabledByUser = isRcsEnabledByUser;
    }
    }


    /**
    /**
@@ -101,6 +129,18 @@ public final class RcsClientConfiguration implements Parcelable {
        return mClientVersion;
        return mClientVersion;
    }
    }


    /**
     * The current user setting provided by the RCS messaging application that determines
     * whether or not the user has enabled RCS.
     * <p>
     * See GSMA RCC.07 "rcs_state" parameter for more information about how this setting
     * affects provisioning.
     * @return true if RCS is enabled by the user, false if RCS is disabled by the user.
     */
    public boolean isRcsEnabledByUser() {
        return mRcsEnabledByUser;
    }

    /**
    /**
     * {@link Parcelable#writeToParcel}
     * {@link Parcelable#writeToParcel}
     */
     */
@@ -110,6 +150,7 @@ public final class RcsClientConfiguration implements Parcelable {
        out.writeString(mRcsProfile);
        out.writeString(mRcsProfile);
        out.writeString(mClientVendor);
        out.writeString(mClientVendor);
        out.writeString(mClientVersion);
        out.writeString(mClientVersion);
        out.writeBoolean(mRcsEnabledByUser);
    }
    }


    /**
    /**
@@ -124,8 +165,9 @@ public final class RcsClientConfiguration implements Parcelable {
                    String rcsProfile = in.readString();
                    String rcsProfile = in.readString();
                    String clientVendor = in.readString();
                    String clientVendor = in.readString();
                    String clientVersion = in.readString();
                    String clientVersion = in.readString();
                    Boolean rcsEnabledByUser = in.readBoolean();
                    return new RcsClientConfiguration(rcsVersion, rcsProfile,
                    return new RcsClientConfiguration(rcsVersion, rcsProfile,
                            clientVendor, clientVersion);
                            clientVendor, clientVersion, rcsEnabledByUser);
                }
                }


                @Override
                @Override
@@ -152,11 +194,13 @@ public final class RcsClientConfiguration implements Parcelable {


        return mRcsVersion.equals(other.mRcsVersion) && mRcsProfile.equals(other.mRcsProfile)
        return mRcsVersion.equals(other.mRcsVersion) && mRcsProfile.equals(other.mRcsProfile)
                && mClientVendor.equals(other.mClientVendor)
                && mClientVendor.equals(other.mClientVendor)
                && mClientVersion.equals(other.mClientVersion);
                && mClientVersion.equals(other.mClientVersion)
                && (mRcsEnabledByUser == other.mRcsEnabledByUser);
    }
    }


    @Override
    @Override
    public int hashCode() {
    public int hashCode() {
        return Objects.hash(mRcsVersion, mRcsProfile, mClientVendor, mClientVersion);
        return Objects.hash(mRcsVersion, mRcsProfile, mClientVendor, mClientVersion,
                mRcsEnabledByUser);
    }
    }
}
}