Loading telephony/java/android/telephony/ServiceState.java +0 −38 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package android.telephony; import static android.telephony.TelephonyManager.NETWORK_TYPE_BITMASK_UNKNOWN; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -1607,12 +1605,6 @@ public class ServiceState implements Parcelable { } } /** @hide */ public static int networkTypeToAccessNetworkType(@TelephonyManager.NetworkType int networkType) { return rilRadioTechnologyToAccessNetworkType(networkTypeToRilRadioTechnology(networkType)); } /** * Get current data network type. * Loading Loading @@ -1738,36 +1730,6 @@ public class ServiceState implements Parcelable { return false; } /** * * Returns whether the bearerBitmask includes a networkType that matches the accessNetworkType. * * The NetworkType refers to NetworkType in TelephonyManager. For example * {@link TelephonyManager#NETWORK_TYPE_GPRS}. * * The accessNetworkType refers to {@link AccessNetworkType}. * * @hide * */ public static boolean networkBitmaskHasAccessNetworkType( @TelephonyManager.NetworkTypeBitMask int networkBitmask, int accessNetworkType) { if (networkBitmask == NETWORK_TYPE_BITMASK_UNKNOWN) return true; if (accessNetworkType == AccessNetworkType.UNKNOWN) return false; int networkType = 1; while (networkBitmask != 0) { if ((networkBitmask & 1) != 0) { if (networkTypeToAccessNetworkType(networkType) == accessNetworkType) { return true; } } networkBitmask = networkBitmask >> 1; networkType++; } return false; } /** @hide */ public static int getBitmaskForTech(int radioTech) { if (radioTech >= 1) { Loading telephony/java/android/telephony/data/ApnSetting.java +22 −0 Original line number Diff line number Diff line Loading @@ -1417,6 +1417,28 @@ public class ApnSetting implements Parcelable { return port == UNSPECIFIED_INT ? null : Integer.toString(port); } /** * Check if this APN setting can support the given network * * @param networkType The network type * @return {@code true} if this APN setting can support the given network. * * @hide */ public boolean canSupportNetworkType(@TelephonyManager.NetworkType int networkType) { // Do a special checking for GSM. In reality, GSM is a voice only network type and can never // be used for data. We allow it here because in some DSDS corner cases, on the non-DDS // sub, modem reports data rat unknown. In that case if voice is GSM and this APN supports // GPRS or EDGE, this APN setting should be selected. if (networkType == TelephonyManager.NETWORK_TYPE_GSM && (mNetworkTypeBitmask & (TelephonyManager.NETWORK_TYPE_BITMASK_GPRS | TelephonyManager.NETWORK_TYPE_BITMASK_EDGE)) != 0) { return true; } return ServiceState.bitmaskHasTech(mNetworkTypeBitmask, networkType); } // Implement Parcelable. @Override /** @hide */ Loading Loading
telephony/java/android/telephony/ServiceState.java +0 −38 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package android.telephony; import static android.telephony.TelephonyManager.NETWORK_TYPE_BITMASK_UNKNOWN; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -1607,12 +1605,6 @@ public class ServiceState implements Parcelable { } } /** @hide */ public static int networkTypeToAccessNetworkType(@TelephonyManager.NetworkType int networkType) { return rilRadioTechnologyToAccessNetworkType(networkTypeToRilRadioTechnology(networkType)); } /** * Get current data network type. * Loading Loading @@ -1738,36 +1730,6 @@ public class ServiceState implements Parcelable { return false; } /** * * Returns whether the bearerBitmask includes a networkType that matches the accessNetworkType. * * The NetworkType refers to NetworkType in TelephonyManager. For example * {@link TelephonyManager#NETWORK_TYPE_GPRS}. * * The accessNetworkType refers to {@link AccessNetworkType}. * * @hide * */ public static boolean networkBitmaskHasAccessNetworkType( @TelephonyManager.NetworkTypeBitMask int networkBitmask, int accessNetworkType) { if (networkBitmask == NETWORK_TYPE_BITMASK_UNKNOWN) return true; if (accessNetworkType == AccessNetworkType.UNKNOWN) return false; int networkType = 1; while (networkBitmask != 0) { if ((networkBitmask & 1) != 0) { if (networkTypeToAccessNetworkType(networkType) == accessNetworkType) { return true; } } networkBitmask = networkBitmask >> 1; networkType++; } return false; } /** @hide */ public static int getBitmaskForTech(int radioTech) { if (radioTech >= 1) { Loading
telephony/java/android/telephony/data/ApnSetting.java +22 −0 Original line number Diff line number Diff line Loading @@ -1417,6 +1417,28 @@ public class ApnSetting implements Parcelable { return port == UNSPECIFIED_INT ? null : Integer.toString(port); } /** * Check if this APN setting can support the given network * * @param networkType The network type * @return {@code true} if this APN setting can support the given network. * * @hide */ public boolean canSupportNetworkType(@TelephonyManager.NetworkType int networkType) { // Do a special checking for GSM. In reality, GSM is a voice only network type and can never // be used for data. We allow it here because in some DSDS corner cases, on the non-DDS // sub, modem reports data rat unknown. In that case if voice is GSM and this APN supports // GPRS or EDGE, this APN setting should be selected. if (networkType == TelephonyManager.NETWORK_TYPE_GSM && (mNetworkTypeBitmask & (TelephonyManager.NETWORK_TYPE_BITMASK_GPRS | TelephonyManager.NETWORK_TYPE_BITMASK_EDGE)) != 0) { return true; } return ServiceState.bitmaskHasTech(mNetworkTypeBitmask, networkType); } // Implement Parcelable. @Override /** @hide */ Loading