diff options
author | Luca Stefani <luca.stefani.ge1@gmail.com> | 2021-03-12 13:54:41 +0100 |
---|---|---|
committer | Luca Stefani <luca.stefani.ge1@gmail.com> | 2021-03-13 17:35:59 +0100 |
commit | 34c9267a742e15cdc703bfa37fe7d1035277b940 (patch) | |
tree | c86f20dd8e639885a947969d27fa4c1898e46446 | |
parent | 0a32731db815481b51e7c8af649cea542168f53a (diff) |
lineage-sdk: Import SPN schema
* Will be used to verify SPN xml at build time
and to automatically generate a C++/Java parser
Change-Id: Ic401c01b74a958b2e813f986725e6c677febabfb
-rw-r--r-- | lib/Android.bp | 14 | ||||
-rw-r--r-- | lib/SpnInfo.xsd | 47 | ||||
-rw-r--r-- | lib/schema/current.txt | 40 | ||||
-rw-r--r-- | lib/schema/last_current.txt | 0 | ||||
-rw-r--r-- | lib/schema/last_removed.txt | 0 | ||||
-rw-r--r-- | lib/schema/removed.txt | 1 |
6 files changed, 102 insertions, 0 deletions
diff --git a/lib/Android.bp b/lib/Android.bp index fd31b844..1fac127a 100644 --- a/lib/Android.bp +++ b/lib/Android.bp @@ -27,3 +27,17 @@ java_library { lineage_sdk_lib_src + "/phone/*.java", ], } + +// Sensitive Phone Numbers schema +// ============================================================= +filegroup { + name: "spn-schema", + srcs: ["SpnInfo.xsd"], +} + +xsd_config { + name: "spn-info", + srcs: [":spn-schema"], + api_dir: "schema", + package_name: "org.lineageos.lib.phone.spn", +} diff --git a/lib/SpnInfo.xsd b/lib/SpnInfo.xsd new file mode 100644 index 00000000..d30630dc --- /dev/null +++ b/lib/SpnInfo.xsd @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2021 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> +<xs:schema version="2.0" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:element name="sensitivePNS"> + <xs:complexType> + <xs:sequence> + <xs:element name="sensitivePN" maxOccurs="unbounded" type="sensitivePN" /> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:complexType name="sensitivePN"> + <xs:sequence> + <xs:element name="item" maxOccurs="unbounded" type="item" /> + </xs:sequence> + <xs:attribute name="network" type="xs:string" use="required" /> + </xs:complexType> + + <xs:complexType name="item"> + <xs:sequence> + <xs:element name="number" type="xs:string" /> + <xs:element name="name" minOccurs="0" type="xs:string" /> + <xs:element name="categories" minOccurs="0" type="xs:string" /> + <xs:element name="languages" minOccurs="0" type="xs:string" /> + <xs:element name="organization" minOccurs="0" type="xs:string" /> + <xs:element name="website" minOccurs="0" type="xs:anyURI" /> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/lib/schema/current.txt b/lib/schema/current.txt new file mode 100644 index 00000000..13e52c67 --- /dev/null +++ b/lib/schema/current.txt @@ -0,0 +1,40 @@ +// Signature format: 2.0 +package org.lineageos.lib.phone.spn { + + public class Item { + ctor public Item(); + method public String getCategories(); + method public String getLanguages(); + method public String getName(); + method public String getNumber(); + method public String getOrganization(); + method public String getWebsite(); + method public void setCategories(String); + method public void setLanguages(String); + method public void setName(String); + method public void setNumber(String); + method public void setOrganization(String); + method public void setWebsite(String); + } + + public class SensitivePN { + ctor public SensitivePN(); + method public java.util.List<org.lineageos.lib.phone.spn.Item> getItem(); + method public String getNetwork(); + method public void setNetwork(String); + } + + public class SensitivePNS { + ctor public SensitivePNS(); + method public java.util.List<org.lineageos.lib.phone.spn.SensitivePN> getSensitivePN(); + } + + public class XmlParser { + ctor public XmlParser(); + method public static org.lineageos.lib.phone.spn.SensitivePNS read(java.io.InputStream) throws javax.xml.datatype.DatatypeConfigurationException, java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public static String readText(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public static void skip(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + } + +} + diff --git a/lib/schema/last_current.txt b/lib/schema/last_current.txt new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/lib/schema/last_current.txt diff --git a/lib/schema/last_removed.txt b/lib/schema/last_removed.txt new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/lib/schema/last_removed.txt diff --git a/lib/schema/removed.txt b/lib/schema/removed.txt new file mode 100644 index 00000000..d802177e --- /dev/null +++ b/lib/schema/removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 |