Loading src/java/com/android/internal/telephony/RadioConfig.java +10 −4 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ import android.hardware.radio.V1_0.RadioResponseInfo; import android.hardware.radio.V1_0.RadioResponseType; import android.hardware.radio.config.V1_0.IRadioConfig; import android.hardware.radio.config.V1_1.ModemsConfig; import android.net.ConnectivityManager; import android.os.AsyncResult; import android.os.Handler; import android.os.HwBinder; Loading @@ -42,6 +41,7 @@ import android.os.Message; import android.os.Registrant; import android.os.RemoteException; import android.os.WorkSource; import android.telephony.TelephonyManager; import android.util.SparseArray; import com.android.internal.telephony.uicc.IccSlotStatus; Loading Loading @@ -96,10 +96,16 @@ public class RadioConfig extends Handler { } } private boolean isMobileDataCapable(Context context) { final TelephonyManager tm = context.getSystemService(TelephonyManager.class); if (tm == null) { return false; } return tm.isDataCapable(); } private RadioConfig(Context context, HalVersion radioHalVersion) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE); mIsMobileNetworkSupported = cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE); mIsMobileNetworkSupported = isMobileDataCapable(context); mRadioConfigResponse = new RadioConfigResponse(this, radioHalVersion); mRadioConfigIndication = new RadioConfigIndication(this); Loading src/java/com/android/internal/telephony/dataconnection/ApnContext.java +16 −19 Original line number Diff line number Diff line Loading @@ -450,12 +450,10 @@ public class ApnContext { synchronized (mRefCountLock) { for (NetworkRequest nr : mNetworkRequests) { if (excludeDun && nr.networkCapabilities.hasCapability( NetworkCapabilities.NET_CAPABILITY_DUN)) { nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) { continue; } if (!nr.networkCapabilities.hasCapability( NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) { if (!nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) { return true; } } Loading Loading @@ -534,10 +532,9 @@ public class ApnContext { } static @ApnType int getApnTypeFromNetworkRequest(NetworkRequest nr) { NetworkCapabilities nc = nr.networkCapabilities; // For now, ignore the bandwidth stuff if (nc.getTransportTypes().length > 0 && nc.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) == false) { if (nr.getTransportTypes().length > 0 && !nr.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) { return ApnSetting.TYPE_NONE; } Loading @@ -546,50 +543,50 @@ public class ApnContext { int apnType = ApnSetting.TYPE_NONE; boolean error = false; if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) { apnType = ApnSetting.TYPE_DEFAULT; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_MMS; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_SUPL; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_DUN; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_FOTA)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_FOTA)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_FOTA; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_IMS; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_CBS)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_CBS)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_CBS; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_IA)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_IA)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_IA; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_EMERGENCY; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_MCX)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_MCX)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_MCX; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_XCAP; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_ENTERPRISE; } Loading src/java/com/android/internal/telephony/vendor/VendorPhoneSwitcher.java +6 −19 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.internal.telephony.vendor; import static android.telephony.SubscriptionManager.DEFAULT_SUBSCRIPTION_ID; import static android.telephony.SubscriptionManager.INVALID_PHONE_INDEX; import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID; import static android.telephony.TelephonyManager.RADIO_POWER_UNAVAILABLE; import android.content.BroadcastReceiver; import android.content.Context; Loading @@ -30,35 +29,24 @@ import android.net.NetworkRequest; import android.os.AsyncResult; import android.os.Looper; import android.os.Message; import android.os.Registrant; import android.os.SystemProperties; import android.telephony.data.ApnSetting; import android.telephony.Rlog; import android.telephony.SubscriptionManager; import android.text.TextUtils; import android.telephony.data.ApnSetting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.CallManager; import com.android.internal.telephony.Call; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.dataconnection.DcRequest; import com.android.internal.telephony.dataconnection.DataEnabledSettings; import com.android.internal.telephony.GsmCdmaCall; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.imsphone.ImsPhoneCall; import com.android.internal.telephony.ITelephonyRegistry; import com.android.internal.telephony.IccCardConstants; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneFactory; import com.android.internal.telephony.PhoneSwitcher; import com.android.internal.telephony.SubscriptionController; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.dataconnection.DataEnabledSettings; import com.android.internal.telephony.dataconnection.DcRequest; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.imsphone.ImsPhoneCall; import java.lang.Integer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.ArrayList; import java.util.List; Loading Loading @@ -382,8 +370,7 @@ public class VendorPhoneSwitcher extends PhoneSwitcher { /* Determine the phone id on which PS attach needs to be done */ protected int phoneIdForRequest(NetworkRequest netRequest, int apnType) { int subId = getSubIdFromNetworkSpecifier(netRequest.networkCapabilities .getNetworkSpecifier()); int subId = getSubIdFromNetworkSpecifier(netRequest.getNetworkSpecifier()); if (subId == DEFAULT_SUBSCRIPTION_ID) return mPreferredDataPhoneId; if (subId == INVALID_SUBSCRIPTION_ID) return INVALID_PHONE_INDEX; Loading Loading
src/java/com/android/internal/telephony/RadioConfig.java +10 −4 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ import android.hardware.radio.V1_0.RadioResponseInfo; import android.hardware.radio.V1_0.RadioResponseType; import android.hardware.radio.config.V1_0.IRadioConfig; import android.hardware.radio.config.V1_1.ModemsConfig; import android.net.ConnectivityManager; import android.os.AsyncResult; import android.os.Handler; import android.os.HwBinder; Loading @@ -42,6 +41,7 @@ import android.os.Message; import android.os.Registrant; import android.os.RemoteException; import android.os.WorkSource; import android.telephony.TelephonyManager; import android.util.SparseArray; import com.android.internal.telephony.uicc.IccSlotStatus; Loading Loading @@ -96,10 +96,16 @@ public class RadioConfig extends Handler { } } private boolean isMobileDataCapable(Context context) { final TelephonyManager tm = context.getSystemService(TelephonyManager.class); if (tm == null) { return false; } return tm.isDataCapable(); } private RadioConfig(Context context, HalVersion radioHalVersion) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE); mIsMobileNetworkSupported = cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE); mIsMobileNetworkSupported = isMobileDataCapable(context); mRadioConfigResponse = new RadioConfigResponse(this, radioHalVersion); mRadioConfigIndication = new RadioConfigIndication(this); Loading
src/java/com/android/internal/telephony/dataconnection/ApnContext.java +16 −19 Original line number Diff line number Diff line Loading @@ -450,12 +450,10 @@ public class ApnContext { synchronized (mRefCountLock) { for (NetworkRequest nr : mNetworkRequests) { if (excludeDun && nr.networkCapabilities.hasCapability( NetworkCapabilities.NET_CAPABILITY_DUN)) { nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) { continue; } if (!nr.networkCapabilities.hasCapability( NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) { if (!nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) { return true; } } Loading Loading @@ -534,10 +532,9 @@ public class ApnContext { } static @ApnType int getApnTypeFromNetworkRequest(NetworkRequest nr) { NetworkCapabilities nc = nr.networkCapabilities; // For now, ignore the bandwidth stuff if (nc.getTransportTypes().length > 0 && nc.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) == false) { if (nr.getTransportTypes().length > 0 && !nr.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) { return ApnSetting.TYPE_NONE; } Loading @@ -546,50 +543,50 @@ public class ApnContext { int apnType = ApnSetting.TYPE_NONE; boolean error = false; if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) { apnType = ApnSetting.TYPE_DEFAULT; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_MMS; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_SUPL; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_DUN; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_FOTA)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_FOTA)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_FOTA; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_IMS; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_CBS)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_CBS)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_CBS; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_IA)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_IA)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_IA; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_EMERGENCY; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_MCX)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_MCX)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_MCX; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_XCAP; } if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)) { if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)) { if (apnType != ApnSetting.TYPE_NONE) error = true; apnType = ApnSetting.TYPE_ENTERPRISE; } Loading
src/java/com/android/internal/telephony/vendor/VendorPhoneSwitcher.java +6 −19 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.internal.telephony.vendor; import static android.telephony.SubscriptionManager.DEFAULT_SUBSCRIPTION_ID; import static android.telephony.SubscriptionManager.INVALID_PHONE_INDEX; import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID; import static android.telephony.TelephonyManager.RADIO_POWER_UNAVAILABLE; import android.content.BroadcastReceiver; import android.content.Context; Loading @@ -30,35 +29,24 @@ import android.net.NetworkRequest; import android.os.AsyncResult; import android.os.Looper; import android.os.Message; import android.os.Registrant; import android.os.SystemProperties; import android.telephony.data.ApnSetting; import android.telephony.Rlog; import android.telephony.SubscriptionManager; import android.text.TextUtils; import android.telephony.data.ApnSetting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.CallManager; import com.android.internal.telephony.Call; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.dataconnection.DcRequest; import com.android.internal.telephony.dataconnection.DataEnabledSettings; import com.android.internal.telephony.GsmCdmaCall; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.imsphone.ImsPhoneCall; import com.android.internal.telephony.ITelephonyRegistry; import com.android.internal.telephony.IccCardConstants; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneFactory; import com.android.internal.telephony.PhoneSwitcher; import com.android.internal.telephony.SubscriptionController; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.dataconnection.DataEnabledSettings; import com.android.internal.telephony.dataconnection.DcRequest; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.imsphone.ImsPhoneCall; import java.lang.Integer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.ArrayList; import java.util.List; Loading Loading @@ -382,8 +370,7 @@ public class VendorPhoneSwitcher extends PhoneSwitcher { /* Determine the phone id on which PS attach needs to be done */ protected int phoneIdForRequest(NetworkRequest netRequest, int apnType) { int subId = getSubIdFromNetworkSpecifier(netRequest.networkCapabilities .getNetworkSpecifier()); int subId = getSubIdFromNetworkSpecifier(netRequest.getNetworkSpecifier()); if (subId == DEFAULT_SUBSCRIPTION_ID) return mPreferredDataPhoneId; if (subId == INVALID_SUBSCRIPTION_ID) return INVALID_PHONE_INDEX; Loading