Support for bearer_bitmask.

Change-Id: I7cae3d229445607c66b6472124264588f7571097
This commit is contained in:
Amit Mahajan
2015-02-26 10:46:17 -08:00
parent a320505f3a
commit 13a98b6c6e
3 changed files with 56 additions and 2 deletions

View File

@@ -27164,7 +27164,8 @@ package android.provider {
public static final class Telephony.Carriers implements android.provider.BaseColumns {
field public static final java.lang.String APN = "apn";
field public static final java.lang.String AUTH_TYPE = "authtype";
field public static final java.lang.String BEARER = "bearer";
field public static final deprecated java.lang.String BEARER = "bearer";
field public static final java.lang.String BEARER_BITMASK = "bearer_bitmask";
field public static final java.lang.String CARRIER_ENABLED = "carrier_enabled";
field public static final android.net.Uri CONTENT_URI;
field public static final java.lang.String CURRENT = "current";

View File

@@ -29177,7 +29177,8 @@ package android.provider {
public static final class Telephony.Carriers implements android.provider.BaseColumns {
field public static final java.lang.String APN = "apn";
field public static final java.lang.String AUTH_TYPE = "authtype";
field public static final java.lang.String BEARER = "bearer";
field public static final deprecated java.lang.String BEARER = "bearer";
field public static final java.lang.String BEARER_BITMASK = "bearer_bitmask";
field public static final java.lang.String CARRIER_ENABLED = "carrier_enabled";
field public static final android.net.Uri CONTENT_URI;
field public static final java.lang.String CURRENT = "current";

View File

@@ -1104,6 +1104,58 @@ public class ServiceState implements Parcelable {
|| radioTechnology == RIL_RADIO_TECHNOLOGY_EHRPD;
}
/** @hide */
public static boolean hasCdma(int radioTechnologyBitmask) {
int cdmaBitmask = (RIL_RADIO_TECHNOLOGY_IS95A
| RIL_RADIO_TECHNOLOGY_IS95B
| RIL_RADIO_TECHNOLOGY_1xRTT
| RIL_RADIO_TECHNOLOGY_EVDO_0
| RIL_RADIO_TECHNOLOGY_EVDO_A
| RIL_RADIO_TECHNOLOGY_EVDO_B
| RIL_RADIO_TECHNOLOGY_EHRPD);
return ((radioTechnologyBitmask & cdmaBitmask) != 0);
}
/** @hide */
public static boolean bitmaskHasTech(int bearerBitmask, int radioTech) {
if (bearerBitmask == 0) {
return true;
} else if (radioTech >= 1) {
return ((bearerBitmask & (1 << (radioTech - 1))) != 0);
}
return false;
}
/** @hide */
public static int getBitmaskForTech(int radioTech) {
if (radioTech >= 1) {
return (1 << (radioTech - 1));
}
return 0;
}
/** @hide */
public static int getBitmaskFromString(String bearerList) {
String[] bearers = bearerList.split("\\|");
int bearerBitmask = 0;
for (String bearer : bearers) {
int bearerInt = 0;
try {
bearerInt = Integer.parseInt(bearer.trim());
} catch (NumberFormatException nfe) {
return 0;
}
if (bearerInt == 0) {
return 0;
}
bearerBitmask |= getBitmaskForTech(bearerInt);
}
return bearerBitmask;
}
/**
* Returns a merged ServiceState consisting of the base SS with voice settings from the
* voice SS. The voice SS is only used if it is IN_SERVICE (otherwise the base SS is returned).