Loading proto/telephony.proto +2 −0 Original line number Original line Diff line number Diff line Loading @@ -760,6 +760,8 @@ message TelephonyEvent { DEACTIVATE_REASON_RADIO_OFF = 2; DEACTIVATE_REASON_RADIO_OFF = 2; DEACTIVATE_REASON_PDP_RESET = 3; DEACTIVATE_REASON_PDP_RESET = 3; DEACTIVATE_REASON_HANDOVER = 4; } } } } Loading src/java/com/android/internal/telephony/CommandsInterface.java +12 −6 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.internal.telephony; package com.android.internal.telephony; import android.net.KeepalivePacketData; import android.net.KeepalivePacketData; import android.net.LinkProperties; import android.os.Handler; import android.os.Handler; import android.os.Message; import android.os.Message; import android.os.WorkSource; import android.os.WorkSource; Loading Loading @@ -1625,22 +1626,27 @@ public interface CommandsInterface { /** /** * Setup a packet data connection On successful completion, the result * Setup a packet data connection On successful completion, the result * message will return a {@link com.android.internal.telephony.dataconnection.DataCallResponse} * message will return a SetupDataResult object containing the connection information. * object containing the connection information. * * * @param radioTechnology * @param accessNetworkType * Radio technology to use. Values is one of RIL_RADIO_TECHNOLOGY_* * Access network to use. Values is one of AccessNetworkConstants.AccessNetworkType. * @param dataProfile * @param dataProfile * Data profile for data call setup * Data profile for data call setup * @param isRoaming * @param isRoaming * Device is roaming or not * Device is roaming or not * @param allowRoaming * @param allowRoaming * Flag indicating data roaming is enabled or not * Flag indicating data roaming is enabled or not * @param reason * The reason for data setup * @param linkProperties * If the reason is for handover, this indicates the link properties of the existing * data connection * @param result * @param result * Callback message * Callback message */ */ void setupDataCall(int radioTechnology, DataProfile dataProfile, boolean isRoaming, void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, boolean allowRoaming, Message result); boolean allowRoaming, int reason, LinkProperties linkProperties, Message result); /** /** * Deactivate packet data connection * Deactivate packet data connection Loading src/java/com/android/internal/telephony/RIL.java +58 −15 Original line number Original line Diff line number Diff line Loading @@ -55,6 +55,7 @@ import android.hardware.radio.V1_0.UusInfo; import android.net.ConnectivityManager; import android.net.ConnectivityManager; import android.net.KeepalivePacketData; import android.net.KeepalivePacketData; import android.net.LinkAddress; import android.net.LinkAddress; import android.net.LinkProperties; import android.net.NetworkUtils; import android.net.NetworkUtils; import android.os.AsyncResult; import android.os.AsyncResult; import android.os.Build; import android.os.Build; Loading @@ -81,12 +82,14 @@ import android.telephony.PhoneNumberUtils; import android.telephony.RadioAccessFamily; import android.telephony.RadioAccessFamily; import android.telephony.RadioAccessSpecifier; import android.telephony.RadioAccessSpecifier; import android.telephony.Rlog; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SignalStrength; import android.telephony.SmsManager; import android.telephony.SmsManager; import android.telephony.TelephonyHistogram; import android.telephony.TelephonyHistogram; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; import android.telephony.data.DataCallResponse; import android.telephony.data.DataCallResponse; import android.telephony.data.DataProfile; import android.telephony.data.DataProfile; import android.telephony.data.DataService; import android.text.TextUtils; import android.text.TextUtils; import android.util.Log; import android.util.Log; import android.util.SparseArray; import android.util.SparseArray; Loading Loading @@ -1225,8 +1228,9 @@ public class RIL extends BaseCommands implements CommandsInterface { } } @Override @Override public void setupDataCall(int radioTechnology, DataProfile dataProfile, boolean isRoaming, public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, boolean allowRoaming, Message result) { boolean allowRoaming, int reason, LinkProperties linkProperties, Message result) { IRadio radioProxy = getRadioProxy(result); IRadio radioProxy = getRadioProxy(result); if (radioProxy != null) { if (radioProxy != null) { Loading @@ -1237,17 +1241,49 @@ public class RIL extends BaseCommands implements CommandsInterface { // Convert to HAL data profile // Convert to HAL data profile DataProfileInfo dpi = convertToHalDataProfile(dataProfile); DataProfileInfo dpi = convertToHalDataProfile(dataProfile); android.hardware.radio.V1_2.IRadio radioProxy12 = android.hardware.radio.V1_2.IRadio.castFrom(radioProxy); try { if (radioProxy12 == null) { // IRadio V1.0 if (RILJ_LOGD) { if (RILJ_LOGD) { riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) + ",radioTechnology=" + radioTechnology + ",isRoaming=" + ",radioTechnology=unknown,isRoaming=" + isRoaming + isRoaming + ",allowRoaming=" + allowRoaming + "," + dataProfile); + ",allowRoaming=" + allowRoaming + "," + dataProfile); } // The RAT field in setup data call request was never used before. Starting from // P, the new API passes in access network type instead of RAT. Since it's // not possible to convert access network type back to RAT, but we still need to // support the 1.0 API, we passed in unknown RAT to the modem. And modem must // setup the data call on its current camped network. radioProxy.setupDataCall(rr.mSerial, ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN, dpi, dataProfile.isModemCognitive(), allowRoaming, isRoaming); } else { // IRadio V1.2 ArrayList<String> addresses = null; ArrayList<String> dnses = null; if (linkProperties != null) { addresses = new ArrayList<>(); for (InetAddress address : linkProperties.getAddresses()) { addresses.add(address.getHostAddress()); } dnses = new ArrayList<>(); for (InetAddress dns : linkProperties.getDnsServers()) { dnses.add(dns.getHostAddress()); } } } try { if (RILJ_LOGD) { radioProxy.setupDataCall(rr.mSerial, radioTechnology, dpi, riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) dataProfile.isModemCognitive(), allowRoaming, isRoaming); + ",accessNetworkType=" + accessNetworkType + ",isRoaming=" mMetrics.writeRilSetupDataCall(mPhoneId, rr.mSerial, radioTechnology, dpi.profileId, + isRoaming + ",allowRoaming=" + allowRoaming + "," + dataProfile dpi.apn, dpi.authType, dpi.protocol); + ",addresses=" + addresses + ",dnses=" + dnses); } radioProxy12.setupDataCall_1_2(rr.mSerial, accessNetworkType, dpi, dataProfile.isModemCognitive(), allowRoaming, isRoaming, reason, addresses, dnses); } } catch (RemoteException | RuntimeException e) { } catch (RemoteException | RuntimeException e) { handleRadioProxyExceptionForRR(rr, "setupDataCall", e); handleRadioProxyExceptionForRR(rr, "setupDataCall", e); } } Loading Loading @@ -1531,10 +1567,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + requestToString(rr.mRequest) + " cid = " + cid + " reason = " + reason); + requestToString(rr.mRequest) + " cid = " + cid + " reason = " + reason); } } android.hardware.radio.V1_2.IRadio radioProxy12 = android.hardware.radio.V1_2.IRadio.castFrom(radioProxy); try { try { radioProxy.deactivateDataCall(rr.mSerial, cid, (reason == 0) ? false : true); if (radioProxy12 == null) { mMetrics.writeRilDeactivateDataCall(mPhoneId, rr.mSerial, radioProxy.deactivateDataCall(rr.mSerial, cid, cid, reason); (reason == DataService.REQUEST_REASON_SHUTDOWN)); } else { radioProxy12.deactivateDataCall_1_2(rr.mSerial, cid, reason); } mMetrics.writeRilDeactivateDataCall(mPhoneId, rr.mSerial, cid, reason); } catch (RemoteException | RuntimeException e) { } catch (RemoteException | RuntimeException e) { handleRadioProxyExceptionForRR(rr, "deactivateDataCall", e); handleRadioProxyExceptionForRR(rr, "deactivateDataCall", e); } } Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +11 −9 Original line number Original line Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; import android.telephony.data.DataCallResponse; import android.telephony.data.DataCallResponse; import android.telephony.data.DataProfile; import android.telephony.data.DataProfile; import android.telephony.data.DataService; import android.text.TextUtils; import android.text.TextUtils; import android.util.LocalLog; import android.util.LocalLog; import android.util.Pair; import android.util.Pair; Loading @@ -61,6 +62,7 @@ import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.ServiceStateTracker; import com.android.internal.telephony.ServiceStateTracker; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.metrics.TelephonyMetrics; import com.android.internal.util.AsyncChannel; import com.android.internal.util.AsyncChannel; import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Protocol; import com.android.internal.util.Protocol; Loading Loading @@ -527,7 +529,10 @@ public class DataConnection extends StateMachine { boolean allowRoaming = mPhone.getDataRoamingEnabled() boolean allowRoaming = mPhone.getDataRoamingEnabled() || (isModemRoaming && !mPhone.getServiceState().getDataRoaming()); || (isModemRoaming && !mPhone.getServiceState().getDataRoaming()); mPhone.mCi.setupDataCall(cp.mRilRat, dp, isModemRoaming, allowRoaming, msg); mPhone.mCi.setupDataCall(ServiceState.rilRadioTechnologyToAccessNetworkType(cp.mRilRat), dp, isModemRoaming, allowRoaming, DataService.REQUEST_REASON_NORMAL, null, msg); TelephonyMetrics.getInstance().writeSetupDataCall(mPhone.getPhoneId(), cp.mRilRat, dp.getProfileId(), dp.getApn(), dp.getProtocol()); } } public void onSubscriptionOverride(int overrideMask, int overrideValue) { public void onSubscriptionOverride(int overrideMask, int overrideValue) { Loading @@ -544,15 +549,14 @@ public class DataConnection extends StateMachine { * @param o is the object returned in the AsyncResult.obj. * @param o is the object returned in the AsyncResult.obj. */ */ private void tearDownData(Object o) { private void tearDownData(Object o) { int discReason = RILConstants.DEACTIVATE_REASON_NONE; int discReason = DataService.REQUEST_REASON_NORMAL; ApnContext apnContext = null; ApnContext apnContext = null; if ((o != null) && (o instanceof DisconnectParams)) { if ((o != null) && (o instanceof DisconnectParams)) { DisconnectParams dp = (DisconnectParams)o; DisconnectParams dp = (DisconnectParams)o; apnContext = dp.mApnContext; apnContext = dp.mApnContext; if (TextUtils.equals(dp.mReason, Phone.REASON_RADIO_TURNED_OFF)) { if (TextUtils.equals(dp.mReason, Phone.REASON_RADIO_TURNED_OFF) discReason = RILConstants.DEACTIVATE_REASON_RADIO_OFF; || TextUtils.equals(dp.mReason, Phone.REASON_PDP_RESET)) { } else if (TextUtils.equals(dp.mReason, Phone.REASON_PDP_RESET)) { discReason = DataService.REQUEST_REASON_SHUTDOWN; discReason = RILConstants.DEACTIVATE_REASON_PDP_RESET; } } } } Loading Loading @@ -1332,12 +1336,10 @@ public class DataConnection extends StateMachine { } } deferMessage(msg); deferMessage(msg); break; break; case EVENT_TEAR_DOWN_NOW: case EVENT_TEAR_DOWN_NOW: if (DBG) log("DcDefaultState EVENT_TEAR_DOWN_NOW"); if (DBG) log("DcDefaultState EVENT_TEAR_DOWN_NOW"); mPhone.mCi.deactivateDataCall(mCid, 0, null); mPhone.mCi.deactivateDataCall(mCid, DataService.REQUEST_REASON_NORMAL, null); break; break; case EVENT_LOST_CONNECTION: case EVENT_LOST_CONNECTION: if (DBG) { if (DBG) { String s = "DcDefaultState ignore EVENT_LOST_CONNECTION" String s = "DcDefaultState ignore EVENT_LOST_CONNECTION" Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneCommandInterface.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.internal.telephony.imsphone; import android.content.Context; import android.content.Context; import android.net.KeepalivePacketData; import android.net.KeepalivePacketData; import android.net.LinkProperties; import android.os.Handler; import android.os.Handler; import android.os.Message; import android.os.Message; import android.service.carrier.CarrierIdentifier; import android.service.carrier.CarrierIdentifier; Loading Loading @@ -269,8 +270,9 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface } } @Override @Override public void setupDataCall(int radioTechnology, DataProfile dataProfile, boolean isRoaming, public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, boolean allowRoaming, Message result) { boolean allowRoaming, int reason, LinkProperties linkProperties, Message result) { } } @Override @Override Loading Loading
proto/telephony.proto +2 −0 Original line number Original line Diff line number Diff line Loading @@ -760,6 +760,8 @@ message TelephonyEvent { DEACTIVATE_REASON_RADIO_OFF = 2; DEACTIVATE_REASON_RADIO_OFF = 2; DEACTIVATE_REASON_PDP_RESET = 3; DEACTIVATE_REASON_PDP_RESET = 3; DEACTIVATE_REASON_HANDOVER = 4; } } } } Loading
src/java/com/android/internal/telephony/CommandsInterface.java +12 −6 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.internal.telephony; package com.android.internal.telephony; import android.net.KeepalivePacketData; import android.net.KeepalivePacketData; import android.net.LinkProperties; import android.os.Handler; import android.os.Handler; import android.os.Message; import android.os.Message; import android.os.WorkSource; import android.os.WorkSource; Loading Loading @@ -1625,22 +1626,27 @@ public interface CommandsInterface { /** /** * Setup a packet data connection On successful completion, the result * Setup a packet data connection On successful completion, the result * message will return a {@link com.android.internal.telephony.dataconnection.DataCallResponse} * message will return a SetupDataResult object containing the connection information. * object containing the connection information. * * * @param radioTechnology * @param accessNetworkType * Radio technology to use. Values is one of RIL_RADIO_TECHNOLOGY_* * Access network to use. Values is one of AccessNetworkConstants.AccessNetworkType. * @param dataProfile * @param dataProfile * Data profile for data call setup * Data profile for data call setup * @param isRoaming * @param isRoaming * Device is roaming or not * Device is roaming or not * @param allowRoaming * @param allowRoaming * Flag indicating data roaming is enabled or not * Flag indicating data roaming is enabled or not * @param reason * The reason for data setup * @param linkProperties * If the reason is for handover, this indicates the link properties of the existing * data connection * @param result * @param result * Callback message * Callback message */ */ void setupDataCall(int radioTechnology, DataProfile dataProfile, boolean isRoaming, void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, boolean allowRoaming, Message result); boolean allowRoaming, int reason, LinkProperties linkProperties, Message result); /** /** * Deactivate packet data connection * Deactivate packet data connection Loading
src/java/com/android/internal/telephony/RIL.java +58 −15 Original line number Original line Diff line number Diff line Loading @@ -55,6 +55,7 @@ import android.hardware.radio.V1_0.UusInfo; import android.net.ConnectivityManager; import android.net.ConnectivityManager; import android.net.KeepalivePacketData; import android.net.KeepalivePacketData; import android.net.LinkAddress; import android.net.LinkAddress; import android.net.LinkProperties; import android.net.NetworkUtils; import android.net.NetworkUtils; import android.os.AsyncResult; import android.os.AsyncResult; import android.os.Build; import android.os.Build; Loading @@ -81,12 +82,14 @@ import android.telephony.PhoneNumberUtils; import android.telephony.RadioAccessFamily; import android.telephony.RadioAccessFamily; import android.telephony.RadioAccessSpecifier; import android.telephony.RadioAccessSpecifier; import android.telephony.Rlog; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SignalStrength; import android.telephony.SmsManager; import android.telephony.SmsManager; import android.telephony.TelephonyHistogram; import android.telephony.TelephonyHistogram; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; import android.telephony.data.DataCallResponse; import android.telephony.data.DataCallResponse; import android.telephony.data.DataProfile; import android.telephony.data.DataProfile; import android.telephony.data.DataService; import android.text.TextUtils; import android.text.TextUtils; import android.util.Log; import android.util.Log; import android.util.SparseArray; import android.util.SparseArray; Loading Loading @@ -1225,8 +1228,9 @@ public class RIL extends BaseCommands implements CommandsInterface { } } @Override @Override public void setupDataCall(int radioTechnology, DataProfile dataProfile, boolean isRoaming, public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, boolean allowRoaming, Message result) { boolean allowRoaming, int reason, LinkProperties linkProperties, Message result) { IRadio radioProxy = getRadioProxy(result); IRadio radioProxy = getRadioProxy(result); if (radioProxy != null) { if (radioProxy != null) { Loading @@ -1237,17 +1241,49 @@ public class RIL extends BaseCommands implements CommandsInterface { // Convert to HAL data profile // Convert to HAL data profile DataProfileInfo dpi = convertToHalDataProfile(dataProfile); DataProfileInfo dpi = convertToHalDataProfile(dataProfile); android.hardware.radio.V1_2.IRadio radioProxy12 = android.hardware.radio.V1_2.IRadio.castFrom(radioProxy); try { if (radioProxy12 == null) { // IRadio V1.0 if (RILJ_LOGD) { if (RILJ_LOGD) { riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) + ",radioTechnology=" + radioTechnology + ",isRoaming=" + ",radioTechnology=unknown,isRoaming=" + isRoaming + isRoaming + ",allowRoaming=" + allowRoaming + "," + dataProfile); + ",allowRoaming=" + allowRoaming + "," + dataProfile); } // The RAT field in setup data call request was never used before. Starting from // P, the new API passes in access network type instead of RAT. Since it's // not possible to convert access network type back to RAT, but we still need to // support the 1.0 API, we passed in unknown RAT to the modem. And modem must // setup the data call on its current camped network. radioProxy.setupDataCall(rr.mSerial, ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN, dpi, dataProfile.isModemCognitive(), allowRoaming, isRoaming); } else { // IRadio V1.2 ArrayList<String> addresses = null; ArrayList<String> dnses = null; if (linkProperties != null) { addresses = new ArrayList<>(); for (InetAddress address : linkProperties.getAddresses()) { addresses.add(address.getHostAddress()); } dnses = new ArrayList<>(); for (InetAddress dns : linkProperties.getDnsServers()) { dnses.add(dns.getHostAddress()); } } } try { if (RILJ_LOGD) { radioProxy.setupDataCall(rr.mSerial, radioTechnology, dpi, riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) dataProfile.isModemCognitive(), allowRoaming, isRoaming); + ",accessNetworkType=" + accessNetworkType + ",isRoaming=" mMetrics.writeRilSetupDataCall(mPhoneId, rr.mSerial, radioTechnology, dpi.profileId, + isRoaming + ",allowRoaming=" + allowRoaming + "," + dataProfile dpi.apn, dpi.authType, dpi.protocol); + ",addresses=" + addresses + ",dnses=" + dnses); } radioProxy12.setupDataCall_1_2(rr.mSerial, accessNetworkType, dpi, dataProfile.isModemCognitive(), allowRoaming, isRoaming, reason, addresses, dnses); } } catch (RemoteException | RuntimeException e) { } catch (RemoteException | RuntimeException e) { handleRadioProxyExceptionForRR(rr, "setupDataCall", e); handleRadioProxyExceptionForRR(rr, "setupDataCall", e); } } Loading Loading @@ -1531,10 +1567,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + requestToString(rr.mRequest) + " cid = " + cid + " reason = " + reason); + requestToString(rr.mRequest) + " cid = " + cid + " reason = " + reason); } } android.hardware.radio.V1_2.IRadio radioProxy12 = android.hardware.radio.V1_2.IRadio.castFrom(radioProxy); try { try { radioProxy.deactivateDataCall(rr.mSerial, cid, (reason == 0) ? false : true); if (radioProxy12 == null) { mMetrics.writeRilDeactivateDataCall(mPhoneId, rr.mSerial, radioProxy.deactivateDataCall(rr.mSerial, cid, cid, reason); (reason == DataService.REQUEST_REASON_SHUTDOWN)); } else { radioProxy12.deactivateDataCall_1_2(rr.mSerial, cid, reason); } mMetrics.writeRilDeactivateDataCall(mPhoneId, rr.mSerial, cid, reason); } catch (RemoteException | RuntimeException e) { } catch (RemoteException | RuntimeException e) { handleRadioProxyExceptionForRR(rr, "deactivateDataCall", e); handleRadioProxyExceptionForRR(rr, "deactivateDataCall", e); } } Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +11 −9 Original line number Original line Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; import android.telephony.data.DataCallResponse; import android.telephony.data.DataCallResponse; import android.telephony.data.DataProfile; import android.telephony.data.DataProfile; import android.telephony.data.DataService; import android.text.TextUtils; import android.text.TextUtils; import android.util.LocalLog; import android.util.LocalLog; import android.util.Pair; import android.util.Pair; Loading @@ -61,6 +62,7 @@ import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.ServiceStateTracker; import com.android.internal.telephony.ServiceStateTracker; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.metrics.TelephonyMetrics; import com.android.internal.util.AsyncChannel; import com.android.internal.util.AsyncChannel; import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Protocol; import com.android.internal.util.Protocol; Loading Loading @@ -527,7 +529,10 @@ public class DataConnection extends StateMachine { boolean allowRoaming = mPhone.getDataRoamingEnabled() boolean allowRoaming = mPhone.getDataRoamingEnabled() || (isModemRoaming && !mPhone.getServiceState().getDataRoaming()); || (isModemRoaming && !mPhone.getServiceState().getDataRoaming()); mPhone.mCi.setupDataCall(cp.mRilRat, dp, isModemRoaming, allowRoaming, msg); mPhone.mCi.setupDataCall(ServiceState.rilRadioTechnologyToAccessNetworkType(cp.mRilRat), dp, isModemRoaming, allowRoaming, DataService.REQUEST_REASON_NORMAL, null, msg); TelephonyMetrics.getInstance().writeSetupDataCall(mPhone.getPhoneId(), cp.mRilRat, dp.getProfileId(), dp.getApn(), dp.getProtocol()); } } public void onSubscriptionOverride(int overrideMask, int overrideValue) { public void onSubscriptionOverride(int overrideMask, int overrideValue) { Loading @@ -544,15 +549,14 @@ public class DataConnection extends StateMachine { * @param o is the object returned in the AsyncResult.obj. * @param o is the object returned in the AsyncResult.obj. */ */ private void tearDownData(Object o) { private void tearDownData(Object o) { int discReason = RILConstants.DEACTIVATE_REASON_NONE; int discReason = DataService.REQUEST_REASON_NORMAL; ApnContext apnContext = null; ApnContext apnContext = null; if ((o != null) && (o instanceof DisconnectParams)) { if ((o != null) && (o instanceof DisconnectParams)) { DisconnectParams dp = (DisconnectParams)o; DisconnectParams dp = (DisconnectParams)o; apnContext = dp.mApnContext; apnContext = dp.mApnContext; if (TextUtils.equals(dp.mReason, Phone.REASON_RADIO_TURNED_OFF)) { if (TextUtils.equals(dp.mReason, Phone.REASON_RADIO_TURNED_OFF) discReason = RILConstants.DEACTIVATE_REASON_RADIO_OFF; || TextUtils.equals(dp.mReason, Phone.REASON_PDP_RESET)) { } else if (TextUtils.equals(dp.mReason, Phone.REASON_PDP_RESET)) { discReason = DataService.REQUEST_REASON_SHUTDOWN; discReason = RILConstants.DEACTIVATE_REASON_PDP_RESET; } } } } Loading Loading @@ -1332,12 +1336,10 @@ public class DataConnection extends StateMachine { } } deferMessage(msg); deferMessage(msg); break; break; case EVENT_TEAR_DOWN_NOW: case EVENT_TEAR_DOWN_NOW: if (DBG) log("DcDefaultState EVENT_TEAR_DOWN_NOW"); if (DBG) log("DcDefaultState EVENT_TEAR_DOWN_NOW"); mPhone.mCi.deactivateDataCall(mCid, 0, null); mPhone.mCi.deactivateDataCall(mCid, DataService.REQUEST_REASON_NORMAL, null); break; break; case EVENT_LOST_CONNECTION: case EVENT_LOST_CONNECTION: if (DBG) { if (DBG) { String s = "DcDefaultState ignore EVENT_LOST_CONNECTION" String s = "DcDefaultState ignore EVENT_LOST_CONNECTION" Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneCommandInterface.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.internal.telephony.imsphone; import android.content.Context; import android.content.Context; import android.net.KeepalivePacketData; import android.net.KeepalivePacketData; import android.net.LinkProperties; import android.os.Handler; import android.os.Handler; import android.os.Message; import android.os.Message; import android.service.carrier.CarrierIdentifier; import android.service.carrier.CarrierIdentifier; Loading Loading @@ -269,8 +270,9 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface } } @Override @Override public void setupDataCall(int radioTechnology, DataProfile dataProfile, boolean isRoaming, public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, boolean allowRoaming, Message result) { boolean allowRoaming, int reason, LinkProperties linkProperties, Message result) { } } @Override @Override Loading