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

Commit 365d0e50 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Supported network capability MMTEL" am: d7a9d2f2

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2034526

Change-Id: I9943ed68483c4dc6ab38f1f635cd32a9887124da
parents 304b980f d7a9d2f2
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -5640,6 +5640,13 @@ public class CarrierConfigManager {
    public static final String KEY_TELEPHONY_DATA_HANDOVER_RETRY_RULES_STRING_ARRAY =
            "telephony_data_handover_retry_rules_string_array";

    /**
     * Indicates whether delay tearing down IMS data network until voice call ends.
     * @hide
     */
    public static final String KEY_DELAY_IMS_TEAR_DOWN_UNTIL_CALL_END_BOOL =
            "delay_ims_tear_down_until_call_end_bool";

    /**
     * The patterns of missed incoming call sms. This is the regular expression used for
     * matching the missed incoming call's date, time, and caller id. The pattern should match
@@ -6458,6 +6465,7 @@ public class CarrierConfigManager {
                KEY_TELEPHONY_DATA_HANDOVER_RETRY_RULES_STRING_ARRAY, new String[] {
                        "retry_interval=1000|2000|4000|8000|16000, maximum_retries=5"
                });
        sDefaults.putBoolean(KEY_DELAY_IMS_TEAR_DOWN_UNTIL_CALL_END_BOOL, false);
        sDefaults.putStringArray(KEY_MISSED_INCOMING_CALL_SMS_PATTERN_STRING_ARRAY, new String[0]);
        sDefaults.putBoolean(KEY_DISABLE_DUN_APN_WHILE_ROAMING_WITH_PRESET_APN_BOOL, false);
        sDefaults.putString(KEY_DEFAULT_PREFERRED_APN_NAME_STRING, "");
+5 −2
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;

import com.android.internal.annotations.VisibleForTesting;

import java.util.Objects;


@@ -76,7 +78,8 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
    /**
     * @hide
     */
    DataSpecificRegistrationInfo(
    @VisibleForTesting
    public DataSpecificRegistrationInfo(
            int maxDataCalls, boolean isDcNrRestricted, boolean isNrAvailable,
            boolean isEnDcAvailable, @Nullable VopsSupportInfo vops) {
        this.maxDataCalls = maxDataCalls;
@@ -186,7 +189,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
    /**
     * @return The VOPS (Voice over Packet Switched) support information.
     *
     * The instance of {@link LTEVopsSupportInfo}, or {@link NrVopsSupportInfo},
     * The instance of {@link LteVopsSupportInfo}, or {@link NrVopsSupportInfo},
     * null if there is there is no VOPS support information available.
     */
    @Nullable
+50 −15
Original line number Diff line number Diff line
@@ -242,13 +242,16 @@ public final class NetworkRegistrationInfo implements Parcelable {
     * @param cellIdentity The identity representing a unique cell or wifi AP. Set to null if the
     * information is not available.
     * @param rplmn the registered plmn or the last plmn for attempted registration if reg failed.
     * @param voiceSpecificInfo Voice specific registration information.
     * @param dataSpecificInfo Data specific registration information.
     */
    private NetworkRegistrationInfo(@Domain int domain, @TransportType int transportType,
            @RegistrationState int registrationState,
            @NetworkType int accessNetworkTechnology, int rejectCause,
                                   boolean emergencyOnly,
                                   @Nullable @ServiceType List<Integer> availableServices,
                                   @Nullable CellIdentity cellIdentity, @Nullable String rplmn) {
            boolean emergencyOnly, @Nullable @ServiceType List<Integer> availableServices,
            @Nullable CellIdentity cellIdentity, @Nullable String rplmn,
            @Nullable VoiceSpecificRegistrationInfo voiceSpecificInfo,
            @Nullable DataSpecificRegistrationInfo dataSpecificInfo) {
        mDomain = domain;
        mTransportType = transportType;
        mRegistrationState = registrationState;
@@ -262,6 +265,10 @@ public final class NetworkRegistrationInfo implements Parcelable {
        mEmergencyOnly = emergencyOnly;
        mNrState = NR_STATE_NONE;
        mRplmn = rplmn;
        mVoiceSpecificInfo = voiceSpecificInfo;
        mDataSpecificInfo = dataSpecificInfo;

        updateNrState();
    }

    /**
@@ -276,10 +283,9 @@ public final class NetworkRegistrationInfo implements Parcelable {
                                   boolean cssSupported, int roamingIndicator, int systemIsInPrl,
                                   int defaultRoamingIndicator) {
        this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause,
                emergencyOnly, availableServices, cellIdentity, rplmn);

        mVoiceSpecificInfo = new VoiceSpecificRegistrationInfo(cssSupported, roamingIndicator,
                systemIsInPrl, defaultRoamingIndicator);
                emergencyOnly, availableServices, cellIdentity, rplmn,
                new VoiceSpecificRegistrationInfo(cssSupported, roamingIndicator,
                        systemIsInPrl, defaultRoamingIndicator), null);
    }

    /**
@@ -295,11 +301,9 @@ public final class NetworkRegistrationInfo implements Parcelable {
                                   boolean isNrAvailable, boolean isEndcAvailable,
                                   @Nullable VopsSupportInfo vopsSupportInfo) {
        this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause,
                emergencyOnly, availableServices, cellIdentity, rplmn);
        mDataSpecificInfo = new DataSpecificRegistrationInfo(
                maxDataCalls, isDcNrRestricted, isNrAvailable,
                isEndcAvailable, vopsSupportInfo);
        updateNrState();
                emergencyOnly, availableServices, cellIdentity, rplmn, null,
                new DataSpecificRegistrationInfo(maxDataCalls, isDcNrRestricted, isNrAvailable,
                        isEndcAvailable, vopsSupportInfo));
    }

    private NetworkRegistrationInfo(Parcel source) {
@@ -804,6 +808,12 @@ public final class NetworkRegistrationInfo implements Parcelable {
        @NonNull
        private String mRplmn = "";

        @Nullable
        private DataSpecificRegistrationInfo mDataSpecificRegistrationInfo;

        @Nullable
        private VoiceSpecificRegistrationInfo mVoiceSpecificRegistrationInfo;

        /**
         * Default constructor for Builder.
         */
@@ -929,6 +939,30 @@ public final class NetworkRegistrationInfo implements Parcelable {
            return this;
        }

        /**
         * Set voice specific registration information.
         *
         * @param info The voice specific registration information.
         * @return The builder.
         * @hide
         */
        public @NonNull Builder setVoiceSpecificInfo(@NonNull VoiceSpecificRegistrationInfo info) {
            mVoiceSpecificRegistrationInfo = info;
            return this;
        }

        /**
         * Set data specific registration information.
         *
         * @param info The data specific registration information.
         * @return The builder.
         * @hide
         */
        public @NonNull Builder setDataSpecificInfo(@NonNull DataSpecificRegistrationInfo info) {
            mDataSpecificRegistrationInfo = info;
            return this;
        }

        /**
         * Build the NetworkRegistrationInfo.
         * @return the NetworkRegistrationInfo object.
@@ -938,7 +972,8 @@ public final class NetworkRegistrationInfo implements Parcelable {
        public @NonNull NetworkRegistrationInfo build() {
            return new NetworkRegistrationInfo(mDomain, mTransportType, mRegistrationState,
                    mAccessNetworkTechnology, mRejectCause, mEmergencyOnly, mAvailableServices,
                    mCellIdentity, mRplmn);
                    mCellIdentity, mRplmn, mVoiceSpecificRegistrationInfo,
                    mDataSpecificRegistrationInfo);
        }
    }
}