aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarvin Zhang <marvinz@motorola.com>2022-05-10 22:57:21 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-05-10 22:57:21 +0000
commit7e21d2d5b9ac42ded7d7e9a92492baf930774d8b (patch)
treefdfff16d6bca99b151d21b5e714e12f4bbad06d5
parentc350fc1996daf51de89923e63739a31a77296d58 (diff)
parent46ea599a96d86fd557c66a6a7956260999157c01 (diff)
downloadcarrier_settings-7e21d2d5b9ac42ded7d7e9a92492baf930774d8b.tar.gz
Add support for "double" and "bundle" in pb generating script am: 15640c00bc am: 46ea599a96android-platform-13.0.0_r1main-16kandroid13-platform-release
Original change: https://android-review.googlesource.com/c/platform/tools/carrier_settings/+/2093949 Change-Id: I606215b7aef62ab5d24fd42bf1c984d88a23ca56 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--java/CarrierConfigConverterV2.java47
1 files changed, 40 insertions, 7 deletions
diff --git a/java/CarrierConfigConverterV2.java b/java/CarrierConfigConverterV2.java
index 2f8d254..2ba11a7 100644
--- a/java/CarrierConfigConverterV2.java
+++ b/java/CarrierConfigConverterV2.java
@@ -592,7 +592,8 @@ public final class CarrierConfigConverterV2 {
nList = element.getElementsByTagName("boolean");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
- if (nNode.getNodeType() != Node.ELEMENT_NODE) {
+ if (nNode.getNodeType() != Node.ELEMENT_NODE ||
+ !nNode.getParentNode().isSameNode(element)) {
continue;
}
Element eElement = (Element) nNode;
@@ -604,7 +605,8 @@ public final class CarrierConfigConverterV2 {
nList = element.getElementsByTagName("int");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
- if (nNode.getNodeType() != Node.ELEMENT_NODE) {
+ if (nNode.getNodeType() != Node.ELEMENT_NODE ||
+ !nNode.getParentNode().isSameNode(element)) {
continue;
}
Element eElement = (Element) nNode;
@@ -616,7 +618,8 @@ public final class CarrierConfigConverterV2 {
nList = element.getElementsByTagName("long");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
- if (nNode.getNodeType() != Node.ELEMENT_NODE) {
+ if (nNode.getNodeType() != Node.ELEMENT_NODE ||
+ !nNode.getParentNode().isSameNode(element)) {
continue;
}
Element eElement = (Element) nNode;
@@ -624,11 +627,25 @@ public final class CarrierConfigConverterV2 {
long value = Long.parseLong(eElement.getAttribute("value"));
configMap.put(key, CarrierConfig.Config.newBuilder().setLongValue(value).build());
}
+ // double value
+ nList = element.getElementsByTagName("double");
+ for (int i = 0; i < nList.getLength(); i++) {
+ Node nNode = nList.item(i);
+ if (nNode.getNodeType() != Node.ELEMENT_NODE ||
+ !nNode.getParentNode().isSameNode(element)) {
+ continue;
+ }
+ Element eElement = (Element) nNode;
+ String key = eElement.getAttribute("name");
+ double value = Double.parseDouble(eElement.getAttribute("value"));
+ configMap.put(key, CarrierConfig.Config.newBuilder().setDoubleValue(value).build());
+ }
// text value
nList = element.getElementsByTagName("string");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
- if (nNode.getNodeType() != Node.ELEMENT_NODE) {
+ if (nNode.getNodeType() != Node.ELEMENT_NODE ||
+ !nNode.getParentNode().isSameNode(element)) {
continue;
}
Element eElement = (Element) nNode;
@@ -643,7 +660,8 @@ public final class CarrierConfigConverterV2 {
nList = element.getElementsByTagName("string-array");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
- if (nNode.getNodeType() != Node.ELEMENT_NODE) {
+ if (nNode.getNodeType() != Node.ELEMENT_NODE ||
+ !nNode.getParentNode().isSameNode(element)) {
continue;
}
Element eElement = (Element) nNode;
@@ -662,11 +680,12 @@ public final class CarrierConfigConverterV2 {
}
configMap.put(key, cccb.setTextArray(cctb.build()).build());
}
- // bool array
+ // int array
nList = element.getElementsByTagName("int-array");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
- if (nNode.getNodeType() != Node.ELEMENT_NODE) {
+ if (nNode.getNodeType() != Node.ELEMENT_NODE ||
+ !nNode.getParentNode().isSameNode(element)) {
continue;
}
Element eElement = (Element) nNode;
@@ -685,6 +704,20 @@ public final class CarrierConfigConverterV2 {
}
configMap.put(key, cccb.setIntArray(ccib.build()).build());
}
+ // pbundle_as_map
+ nList = element.getElementsByTagName("pbundle_as_map");
+ for (int i = 0; i < nList.getLength(); i++) {
+ Node nNode = nList.item(i);
+ if (nNode.getNodeType() != Node.ELEMENT_NODE ||
+ !nNode.getParentNode().isSameNode(element)) {
+ continue;
+ }
+ Element eElement = (Element) nNode;
+ String key = eElement.getAttribute("name");
+ HashMap<String, CarrierConfig.Config> value = parseCarrierConfigToMap(eElement);
+ configMap.put(key, CarrierConfig.Config.newBuilder()
+ .setBundle(toCarrierConfigBuilder(value)).build());
+ }
return configMap;
}