summaryrefslogtreecommitdiff
path: root/telephony/java
diff options
context:
space:
mode:
authorSarah Chin <sarahchin@google.com>2021-05-12 13:52:04 -0700
committerSarah Chin <sarahchin@google.com>2021-06-02 15:13:51 -0700
commit6ca27717b214ccbec8ca1ab04bec473b56cc193a (patch)
tree3d9bfe0e76ffa552d6d087b8d7fac065a7cafaab /telephony/java
parent82c953e97fc417579c50448ebf5737de52d181ca (diff)
Add function to get APN types as ints from bitmask
Bug: 181889657 Test: atest DataConnectionTest Change-Id: I473b6bc3341bc3782b9c53eeca58c2ede18b6702
Diffstat (limited to 'telephony/java')
-rw-r--r--telephony/java/android/telephony/data/ApnSetting.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/data/ApnSetting.java b/telephony/java/android/telephony/data/ApnSetting.java
index 8b6f2b5c8f08..be1502ad49f2 100644
--- a/telephony/java/android/telephony/data/ApnSetting.java
+++ b/telephony/java/android/telephony/data/ApnSetting.java
@@ -1551,6 +1551,20 @@ public class ApnSetting implements Parcelable {
}
/**
+ * Converts the APN type bitmask to an array of all APN types
+ * @param apnTypeBitmask bitmask of APN types.
+ * @return int array of APN types
+ * @hide
+ */
+ @NonNull
+ public static int[] getApnTypesFromBitmask(int apnTypeBitmask) {
+ return APN_TYPE_INT_MAP.keySet().stream()
+ .filter(type -> ((apnTypeBitmask & type) == type))
+ .mapToInt(Integer::intValue)
+ .toArray();
+ }
+
+ /**
* Converts the integer representation of APN type to its string representation.
*
* @param apnType APN type as an integer