Loading src/java/com/android/internal/telephony/CommandsInterface.java +21 −1 Original line number Diff line number Diff line Loading @@ -30,13 +30,14 @@ import android.telephony.ImsiEncryptionInfo; import android.telephony.NetworkScanRequest; import android.telephony.RadioAccessSpecifier; import android.telephony.SignalThresholdInfo; import android.telephony.TelephonyManager; import android.telephony.data.DataProfile; import android.telephony.emergency.EmergencyNumber; import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.telephony.uicc.IccCardStatus; import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState; import com.android.internal.telephony.uicc.IccCardStatus; import java.util.List; Loading Loading @@ -1553,6 +1554,25 @@ public interface CommandsInterface { @UnsupportedAppUsage void getPreferredNetworkType(Message response); /** * Enable/Disable E-UTRA-NR Dual Connectivity * @param nrDualConnectivityState expected NR dual connectivity state * This can be passed following states * <ol> * <li>Enable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_ENABLE} * <li>Disable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE} * <li>Disable NR dual connectivity and force secondary cell to be released * {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE} * </ol> */ default void setNrDualConnectivityState(int nrDualConnectivityState, Message message, WorkSource workSource) {} /** * Is E-UTRA-NR Dual Connectivity enabled */ default void isNrDualConnectivityEnabled(Message message, WorkSource workSource) {} /** * Request to enable/disable network state change notifications when * location information (lac and/or cid) has changed. Loading src/java/com/android/internal/telephony/Phone.java +24 −0 Original line number Diff line number Diff line Loading @@ -2206,6 +2206,30 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { return allowedNetworkTypes & getAllowedNetworkTypesForAllReasons(); } /** * Is E-UTRA-NR Dual Connectivity enabled */ public void isNrDualConnectivityEnabled(Message message, WorkSource workSource) { mCi.isNrDualConnectivityEnabled(message, workSource); } /** * Enable/Disable E-UTRA-NR Dual Connectivity * @param nrDualConnectivityState expected NR dual connectivity state * This can be passed following states * <ol> * <li>Enable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_ENABLE} * <li>Disable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE} * <li>Disable NR dual connectivity and force secondary cell to be released * {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE} * </ol> */ public void setNrDualConnectivityState( @TelephonyManager.NrDualConnectivityState int nrDualConnectivityState, Message message, WorkSource workSource) { mCi.setNrDualConnectivityState(nrDualConnectivityState, message, workSource); } /** * Get the allowed network types for a certain reason. * @param reason reason to configure allowed network types Loading src/java/com/android/internal/telephony/RIL.java +81 −1 Original line number Diff line number Diff line Loading @@ -3365,6 +3365,83 @@ public class RIL extends BaseCommands implements CommandsInterface { } } /** * Is E-UTRA-NR Dual Connectivity enabled */ @Override public void isNrDualConnectivityEnabled(Message result, WorkSource workSource) { IRadio radioProxy = getRadioProxy(result); if (radioProxy != null) { RILRequest rr = obtainRequest(RIL_REQUEST_IS_NR_DUAL_CONNECTIVITY_ENABLED, result, workSource == null ? mRILDefaultWorkSource : workSource); if (RILJ_LOGD) { riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)); } if (mRadioVersion.less(RADIO_HAL_VERSION_1_6)) { if (result != null) { AsyncResult.forMessage(result, null, CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); result.sendToTarget(); } return; } android.hardware.radio.V1_6.IRadio radioProxy16 = (android.hardware.radio.V1_6.IRadio) radioProxy; try { radioProxy16.isNrDualConnectivityEnabled(rr.mSerial); } catch (RemoteException | RuntimeException e) { handleRadioProxyExceptionForRR(rr, "isNRDualConnectivityEnabled", e); } } } /** * Enable/Disable E-UTRA-NR Dual Connectivity * @param nrDualConnectivityState expected NR dual connectivity state * This can be passed following states * <ol> * <li>Enable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_ENABLE} * <li>Disable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE} * <li>Disable NR dual connectivity and force secondary cell to be released * {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE} * </ol> */ @Override public void setNrDualConnectivityState(int nrDualConnectivityState, Message result, WorkSource workSource) { IRadio radioProxy = getRadioProxy(result); if (radioProxy != null) { if (mRadioVersion.less(RADIO_HAL_VERSION_1_6)) { if (result != null) { AsyncResult.forMessage(result, null, CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); result.sendToTarget(); } return; } android.hardware.radio.V1_6.IRadio radioProxy16 = (android.hardware.radio.V1_6.IRadio) radioProxy; RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_NR_DUAL_CONNECTIVITY, result, workSource == null ? mRILDefaultWorkSource : workSource); if (RILJ_LOGD) { riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) + " enable = " + nrDualConnectivityState); } try { radioProxy16.enableNrDualConnectivity(rr.mSerial, nrDualConnectivityState); } catch (RemoteException | RuntimeException e) { handleRadioProxyExceptionForRR(rr, "enableNRDualConnectivity", e); } } } @Override public void setCdmaSubscriptionSource(int cdmaSubscription , Message result) { IRadio radioProxy = getRadioProxy(result); Loading Loading @@ -6375,7 +6452,10 @@ public class RIL extends BaseCommands implements CommandsInterface { return "RIL_REQUEST_GET_BARRING_INFO"; case RIL_REQUEST_ENTER_SIM_DEPERSONALIZATION: return "RIL_REQUEST_ENTER_SIM_DEPERSONALIZATION"; case RIL_REQUEST_ENABLE_NR_DUAL_CONNECTIVITY: return "RIL_REQUEST_ENABLE_NR_DUAL_CONNECTIVITY"; case RIL_REQUEST_IS_NR_DUAL_CONNECTIVITY_ENABLED: return "RIL_REQUEST_IS_NR_DUAL_CONNECTIVITY_ENABLED"; default: return "<unknown request>"; } } Loading src/java/com/android/internal/telephony/RadioResponse.java +26 −0 Original line number Diff line number Diff line Loading @@ -1499,6 +1499,32 @@ public class RadioResponse extends IRadioResponse.Stub { responseActivityData(responseInfo, activityInfo); } /** * * @param responseInfo Response info struct containing response type, serial no. and error * @param isEnabled Indicates whether NR dual connectivity is enabled or not, True if enabled * else false. */ public void isNrDualConnectivityEnabledResponse(RadioResponseInfo responseInfo, boolean isEnabled) { RILRequest rr = mRil.processResponse(responseInfo); if (rr != null) { if (responseInfo.error == RadioError.NONE) { sendMessageResponse(rr.mResult, isEnabled); } mRil.processResponseDone(rr, responseInfo, isEnabled); } } /** * * @param responseInfo Response info struct containing response type, serial no. and error */ public void enableNrDualConnectivityResponse(RadioResponseInfo responseInfo) { responseVoid(responseInfo); } /** * * @param responseInfo Response info struct containing response type, serial no. and error Loading Loading
src/java/com/android/internal/telephony/CommandsInterface.java +21 −1 Original line number Diff line number Diff line Loading @@ -30,13 +30,14 @@ import android.telephony.ImsiEncryptionInfo; import android.telephony.NetworkScanRequest; import android.telephony.RadioAccessSpecifier; import android.telephony.SignalThresholdInfo; import android.telephony.TelephonyManager; import android.telephony.data.DataProfile; import android.telephony.emergency.EmergencyNumber; import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.telephony.uicc.IccCardStatus; import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState; import com.android.internal.telephony.uicc.IccCardStatus; import java.util.List; Loading Loading @@ -1553,6 +1554,25 @@ public interface CommandsInterface { @UnsupportedAppUsage void getPreferredNetworkType(Message response); /** * Enable/Disable E-UTRA-NR Dual Connectivity * @param nrDualConnectivityState expected NR dual connectivity state * This can be passed following states * <ol> * <li>Enable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_ENABLE} * <li>Disable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE} * <li>Disable NR dual connectivity and force secondary cell to be released * {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE} * </ol> */ default void setNrDualConnectivityState(int nrDualConnectivityState, Message message, WorkSource workSource) {} /** * Is E-UTRA-NR Dual Connectivity enabled */ default void isNrDualConnectivityEnabled(Message message, WorkSource workSource) {} /** * Request to enable/disable network state change notifications when * location information (lac and/or cid) has changed. Loading
src/java/com/android/internal/telephony/Phone.java +24 −0 Original line number Diff line number Diff line Loading @@ -2206,6 +2206,30 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { return allowedNetworkTypes & getAllowedNetworkTypesForAllReasons(); } /** * Is E-UTRA-NR Dual Connectivity enabled */ public void isNrDualConnectivityEnabled(Message message, WorkSource workSource) { mCi.isNrDualConnectivityEnabled(message, workSource); } /** * Enable/Disable E-UTRA-NR Dual Connectivity * @param nrDualConnectivityState expected NR dual connectivity state * This can be passed following states * <ol> * <li>Enable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_ENABLE} * <li>Disable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE} * <li>Disable NR dual connectivity and force secondary cell to be released * {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE} * </ol> */ public void setNrDualConnectivityState( @TelephonyManager.NrDualConnectivityState int nrDualConnectivityState, Message message, WorkSource workSource) { mCi.setNrDualConnectivityState(nrDualConnectivityState, message, workSource); } /** * Get the allowed network types for a certain reason. * @param reason reason to configure allowed network types Loading
src/java/com/android/internal/telephony/RIL.java +81 −1 Original line number Diff line number Diff line Loading @@ -3365,6 +3365,83 @@ public class RIL extends BaseCommands implements CommandsInterface { } } /** * Is E-UTRA-NR Dual Connectivity enabled */ @Override public void isNrDualConnectivityEnabled(Message result, WorkSource workSource) { IRadio radioProxy = getRadioProxy(result); if (radioProxy != null) { RILRequest rr = obtainRequest(RIL_REQUEST_IS_NR_DUAL_CONNECTIVITY_ENABLED, result, workSource == null ? mRILDefaultWorkSource : workSource); if (RILJ_LOGD) { riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)); } if (mRadioVersion.less(RADIO_HAL_VERSION_1_6)) { if (result != null) { AsyncResult.forMessage(result, null, CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); result.sendToTarget(); } return; } android.hardware.radio.V1_6.IRadio radioProxy16 = (android.hardware.radio.V1_6.IRadio) radioProxy; try { radioProxy16.isNrDualConnectivityEnabled(rr.mSerial); } catch (RemoteException | RuntimeException e) { handleRadioProxyExceptionForRR(rr, "isNRDualConnectivityEnabled", e); } } } /** * Enable/Disable E-UTRA-NR Dual Connectivity * @param nrDualConnectivityState expected NR dual connectivity state * This can be passed following states * <ol> * <li>Enable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_ENABLE} * <li>Disable NR dual connectivity {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE} * <li>Disable NR dual connectivity and force secondary cell to be released * {@link TelephonyManager#NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE} * </ol> */ @Override public void setNrDualConnectivityState(int nrDualConnectivityState, Message result, WorkSource workSource) { IRadio radioProxy = getRadioProxy(result); if (radioProxy != null) { if (mRadioVersion.less(RADIO_HAL_VERSION_1_6)) { if (result != null) { AsyncResult.forMessage(result, null, CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); result.sendToTarget(); } return; } android.hardware.radio.V1_6.IRadio radioProxy16 = (android.hardware.radio.V1_6.IRadio) radioProxy; RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_NR_DUAL_CONNECTIVITY, result, workSource == null ? mRILDefaultWorkSource : workSource); if (RILJ_LOGD) { riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) + " enable = " + nrDualConnectivityState); } try { radioProxy16.enableNrDualConnectivity(rr.mSerial, nrDualConnectivityState); } catch (RemoteException | RuntimeException e) { handleRadioProxyExceptionForRR(rr, "enableNRDualConnectivity", e); } } } @Override public void setCdmaSubscriptionSource(int cdmaSubscription , Message result) { IRadio radioProxy = getRadioProxy(result); Loading Loading @@ -6375,7 +6452,10 @@ public class RIL extends BaseCommands implements CommandsInterface { return "RIL_REQUEST_GET_BARRING_INFO"; case RIL_REQUEST_ENTER_SIM_DEPERSONALIZATION: return "RIL_REQUEST_ENTER_SIM_DEPERSONALIZATION"; case RIL_REQUEST_ENABLE_NR_DUAL_CONNECTIVITY: return "RIL_REQUEST_ENABLE_NR_DUAL_CONNECTIVITY"; case RIL_REQUEST_IS_NR_DUAL_CONNECTIVITY_ENABLED: return "RIL_REQUEST_IS_NR_DUAL_CONNECTIVITY_ENABLED"; default: return "<unknown request>"; } } Loading
src/java/com/android/internal/telephony/RadioResponse.java +26 −0 Original line number Diff line number Diff line Loading @@ -1499,6 +1499,32 @@ public class RadioResponse extends IRadioResponse.Stub { responseActivityData(responseInfo, activityInfo); } /** * * @param responseInfo Response info struct containing response type, serial no. and error * @param isEnabled Indicates whether NR dual connectivity is enabled or not, True if enabled * else false. */ public void isNrDualConnectivityEnabledResponse(RadioResponseInfo responseInfo, boolean isEnabled) { RILRequest rr = mRil.processResponse(responseInfo); if (rr != null) { if (responseInfo.error == RadioError.NONE) { sendMessageResponse(rr.mResult, isEnabled); } mRil.processResponseDone(rr, responseInfo, isEnabled); } } /** * * @param responseInfo Response info struct containing response type, serial no. and error */ public void enableNrDualConnectivityResponse(RadioResponseInfo responseInfo) { responseVoid(responseInfo); } /** * * @param responseInfo Response info struct containing response type, serial no. and error Loading