aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarvin Zhang <marvinz@motorola.com>2022-05-10 23:17:11 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-05-10 23:17:11 +0000
commit3ea02ef3189c0f28e75366c590f867fb527b48cb (patch)
treefdfff16d6bca99b151d21b5e714e12f4bbad06d5
parent0077755afaae684304bb0abe5cc1bacce7f657a9 (diff)
parent7e21d2d5b9ac42ded7d7e9a92492baf930774d8b (diff)
downloadcarrier_settings-3ea02ef3189c0f28e75366c590f867fb527b48cb.tar.gz
Add support for "double" and "bundle" in pb generating script am: 15640c00bc am: 46ea599a96 am: 7e21d2d5b9
Original change: https://android-review.googlesource.com/c/platform/tools/carrier_settings/+/2093949 Change-Id: Ib58372050a1fe110e3776b023f5387f67bf847eb 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;
}