Merge "Supported network capability MMTEL"
This commit is contained in:
@@ -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, "");
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user