Merge "Supported network capability MMTEL"

This commit is contained in:
Treehugger Robot
2022-03-22 03:24:06 +00:00
committed by Gerrit Code Review
3 changed files with 63 additions and 17 deletions

View File

@@ -5640,6 +5640,13 @@ public class CarrierConfigManager {
public static final String KEY_TELEPHONY_DATA_HANDOVER_RETRY_RULES_STRING_ARRAY = public static final String KEY_TELEPHONY_DATA_HANDOVER_RETRY_RULES_STRING_ARRAY =
"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 * 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 * 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[] { KEY_TELEPHONY_DATA_HANDOVER_RETRY_RULES_STRING_ARRAY, new String[] {
"retry_interval=1000|2000|4000|8000|16000, maximum_retries=5" "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.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.putBoolean(KEY_DISABLE_DUN_APN_WHILE_ROAMING_WITH_PRESET_APN_BOOL, false);
sDefaults.putString(KEY_DEFAULT_PREFERRED_APN_NAME_STRING, ""); sDefaults.putString(KEY_DEFAULT_PREFERRED_APN_NAME_STRING, "");

View File

@@ -22,6 +22,8 @@ import android.annotation.SystemApi;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import com.android.internal.annotations.VisibleForTesting;
import java.util.Objects; import java.util.Objects;
@@ -76,7 +78,8 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
/** /**
* @hide * @hide
*/ */
DataSpecificRegistrationInfo( @VisibleForTesting
public DataSpecificRegistrationInfo(
int maxDataCalls, boolean isDcNrRestricted, boolean isNrAvailable, int maxDataCalls, boolean isDcNrRestricted, boolean isNrAvailable,
boolean isEnDcAvailable, @Nullable VopsSupportInfo vops) { boolean isEnDcAvailable, @Nullable VopsSupportInfo vops) {
this.maxDataCalls = maxDataCalls; this.maxDataCalls = maxDataCalls;
@@ -186,7 +189,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
/** /**
* @return The VOPS (Voice over Packet Switched) support information. * @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. * null if there is there is no VOPS support information available.
*/ */
@Nullable @Nullable

View File

@@ -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 * @param cellIdentity The identity representing a unique cell or wifi AP. Set to null if the
* information is not available. * information is not available.
* @param rplmn the registered plmn or the last plmn for attempted registration if reg failed. * @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, private NetworkRegistrationInfo(@Domain int domain, @TransportType int transportType,
@RegistrationState int registrationState, @RegistrationState int registrationState,
@NetworkType int accessNetworkTechnology, int rejectCause, @NetworkType int accessNetworkTechnology, int rejectCause,
boolean emergencyOnly, boolean emergencyOnly, @Nullable @ServiceType List<Integer> availableServices,
@Nullable @ServiceType List<Integer> availableServices, @Nullable CellIdentity cellIdentity, @Nullable String rplmn,
@Nullable CellIdentity cellIdentity, @Nullable String rplmn) { @Nullable VoiceSpecificRegistrationInfo voiceSpecificInfo,
@Nullable DataSpecificRegistrationInfo dataSpecificInfo) {
mDomain = domain; mDomain = domain;
mTransportType = transportType; mTransportType = transportType;
mRegistrationState = registrationState; mRegistrationState = registrationState;
@@ -262,6 +265,10 @@ public final class NetworkRegistrationInfo implements Parcelable {
mEmergencyOnly = emergencyOnly; mEmergencyOnly = emergencyOnly;
mNrState = NR_STATE_NONE; mNrState = NR_STATE_NONE;
mRplmn = rplmn; mRplmn = rplmn;
mVoiceSpecificInfo = voiceSpecificInfo;
mDataSpecificInfo = dataSpecificInfo;
updateNrState();
} }
/** /**
@@ -276,10 +283,9 @@ public final class NetworkRegistrationInfo implements Parcelable {
boolean cssSupported, int roamingIndicator, int systemIsInPrl, boolean cssSupported, int roamingIndicator, int systemIsInPrl,
int defaultRoamingIndicator) { int defaultRoamingIndicator) {
this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause, this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause,
emergencyOnly, availableServices, cellIdentity, rplmn); emergencyOnly, availableServices, cellIdentity, rplmn,
new VoiceSpecificRegistrationInfo(cssSupported, roamingIndicator,
mVoiceSpecificInfo = new VoiceSpecificRegistrationInfo(cssSupported, roamingIndicator, systemIsInPrl, defaultRoamingIndicator), null);
systemIsInPrl, defaultRoamingIndicator);
} }
/** /**
@@ -295,11 +301,9 @@ public final class NetworkRegistrationInfo implements Parcelable {
boolean isNrAvailable, boolean isEndcAvailable, boolean isNrAvailable, boolean isEndcAvailable,
@Nullable VopsSupportInfo vopsSupportInfo) { @Nullable VopsSupportInfo vopsSupportInfo) {
this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause, this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause,
emergencyOnly, availableServices, cellIdentity, rplmn); emergencyOnly, availableServices, cellIdentity, rplmn, null,
mDataSpecificInfo = new DataSpecificRegistrationInfo( new DataSpecificRegistrationInfo(maxDataCalls, isDcNrRestricted, isNrAvailable,
maxDataCalls, isDcNrRestricted, isNrAvailable, isEndcAvailable, vopsSupportInfo));
isEndcAvailable, vopsSupportInfo);
updateNrState();
} }
private NetworkRegistrationInfo(Parcel source) { private NetworkRegistrationInfo(Parcel source) {
@@ -804,6 +808,12 @@ public final class NetworkRegistrationInfo implements Parcelable {
@NonNull @NonNull
private String mRplmn = ""; private String mRplmn = "";
@Nullable
private DataSpecificRegistrationInfo mDataSpecificRegistrationInfo;
@Nullable
private VoiceSpecificRegistrationInfo mVoiceSpecificRegistrationInfo;
/** /**
* Default constructor for Builder. * Default constructor for Builder.
*/ */
@@ -929,6 +939,30 @@ public final class NetworkRegistrationInfo implements Parcelable {
return this; 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. * Build the NetworkRegistrationInfo.
* @return the NetworkRegistrationInfo object. * @return the NetworkRegistrationInfo object.
@@ -938,7 +972,8 @@ public final class NetworkRegistrationInfo implements Parcelable {
public @NonNull NetworkRegistrationInfo build() { public @NonNull NetworkRegistrationInfo build() {
return new NetworkRegistrationInfo(mDomain, mTransportType, mRegistrationState, return new NetworkRegistrationInfo(mDomain, mTransportType, mRegistrationState,
mAccessNetworkTechnology, mRejectCause, mEmergencyOnly, mAvailableServices, mAccessNetworkTechnology, mRejectCause, mEmergencyOnly, mAvailableServices,
mCellIdentity, mRplmn); mCellIdentity, mRplmn, mVoiceSpecificRegistrationInfo,
mDataSpecificRegistrationInfo);
} }
} }
} }