Merge "Update ddmlib prebuilt on 2021-08-30 13:33:03.431907" am: bd3cb18b12
Original change: https://android-review.googlesource.com/c/platform/prebuilts/misc/+/1814117
Change-Id: I85f5851d6f3bef6f9711cff8bd77c536c4f867f6
diff --git a/common/android-support-test/Android.bp b/common/android-support-test/Android.bp
index 88b3b7b..9fae52c 100644
--- a/common/android-support-test/Android.bp
+++ b/common/android-support-test/Android.bp
@@ -14,6 +14,15 @@
// DEPRECATED! Use androidx-test libraries instead
+// Lock down visibility to prevent new usages
+// This library cannot removed entirely yet because there are
+// usages in Android.mk that cannot be eliminated quit yet. See b/172831930
+package {
+ default_visibility: [
+ "//visibility:private",
+ ],
+}
+
// for Android JUnit runner, monitor and rules
java_library_static {
name: "android-support-test",
diff --git a/common/androidx-perf/ui_apks_compose-integration-tests-demos_compose-demos-testapp-release.apk b/common/androidx-perf/ui_apks_compose-integration-tests-demos_compose-demos-testapp-release.apk
new file mode 100644
index 0000000..46c5e77
--- /dev/null
+++ b/common/androidx-perf/ui_apks_compose-integration-tests-demos_compose-demos-testapp-release.apk
Binary files differ
diff --git a/common/androidx-test/Android.bp b/common/androidx-test/Android.bp
index 5f082e7..601478f 100644
--- a/common/androidx-test/Android.bp
+++ b/common/androidx-test/Android.bp
@@ -1,5 +1,5 @@
// Automatically generated with:
-// pom2bp -rewrite 'androidx.test:=androidx.test.' -rewrite 'androidx.test.ext:=androidx.test.ext.' -rewrite 'androidx.test.espresso:espresso-=androidx.test.espresso.' -rewrite 'androidx.test.janktesthelper:janktesthelper=androidx.test.janktesthelper' -rewrite 'androidx.test.uiautomator:uiautomator=androidx.test.uiautomator' -extra-libs androidx.test.rules=android.test.base -extra-libs androidx.test.uiautomator=android.test.base -rewrite 'com.google.truth:truth=truth-prebuilt' -rewrite 'net.sf.kxml:kxml2=kxml2-android' -rewrite 'androidx.lifecycle:lifecycle-common=androidx.lifecycle_lifecycle-common' -rewrite 'androidx.annotation:annotation=androidx.annotation_annotation' -rewrite 'org.hamcrest:hamcrest-integration=hamcrest' -rewrite 'javax.inject:javax.inject=jsr330' -rewrite 'com.google.android.material:material=com.google.android.material_material' -rewrite 'androidx.drawerlayout:drawerlayout=androidx.drawerlayout_drawerlayout' -rewrite 'androidx.viewpager:viewpager=androidx.viewpager_viewpager' -rewrite 'androidx.recyclerview:recyclerview=androidx.recyclerview_recyclerview' -rewrite 'androidx.core:core=androidx.core_core' -rewrite 'androidx.legacy:legacy-support-core-utils=androidx.legacy_legacy-support-core-utils' -sdk-version current -static-deps .
+// pom2bp -rewrite 'androidx.test:=androidx.test.' -rewrite 'androidx.test.ext:=androidx.test.ext.' -rewrite 'androidx.test.espresso:espresso-=androidx.test.espresso.' -rewrite 'androidx.test.janktesthelper:janktesthelper=androidx.test.janktesthelper' -rewrite 'androidx.test.uiautomator:uiautomator=androidx.test.uiautomator' -rewrite 'androidx.test.services:storage=androidx.test.services.storage' -extra-libs androidx.test.rules=android.test.base -extra-libs androidx.test.uiautomator=android.test.base -rewrite 'com.google.truth:truth=truth-prebuilt' -rewrite 'net.sf.kxml:kxml2=kxml2-android' -rewrite 'androidx.lifecycle:lifecycle-common=androidx.lifecycle_lifecycle-common' -rewrite 'androidx.annotation:annotation=androidx.annotation_annotation' -rewrite 'org.hamcrest:hamcrest-integration=hamcrest' -rewrite 'javax.inject:javax.inject=jsr330' -rewrite 'com.google.android.material:material=com.google.android.material_material' -rewrite 'androidx.drawerlayout:drawerlayout=androidx.drawerlayout_drawerlayout' -rewrite 'androidx.viewpager:viewpager=androidx.viewpager_viewpager' -rewrite 'androidx.recyclerview:recyclerview=androidx.recyclerview_recyclerview' -rewrite 'androidx.core:core=androidx.core_core' -rewrite 'androidx.legacy:legacy-support-core-utils=androidx.legacy_legacy-support-core-utils' -sdk-version current -static-deps .
package {
default_applicable_licenses: ["Android-Apache-2.0"],
@@ -7,8 +7,12 @@
android_library_import {
name: "androidx.test.core-nodeps",
- aars: ["androidx/test/core/1.3.0-beta02/core-1.3.0-beta02.aar"],
+ aars: ["androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"androidx.annotation_annotation",
@@ -20,6 +24,10 @@
android_library {
name: "androidx.test.core",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.core/AndroidManifest.xml",
static_libs: [
@@ -33,8 +41,12 @@
android_library_import {
name: "androidx.test.espresso.contrib-nodeps",
- aars: ["androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02.aar"],
+ aars: ["androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"com.google.android.material_material",
@@ -52,6 +64,10 @@
android_library {
name: "androidx.test.espresso.contrib",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.espresso.contrib/AndroidManifest.xml",
static_libs: [
@@ -71,8 +87,12 @@
android_library_import {
name: "androidx.test.espresso.core-nodeps",
- aars: ["androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02.aar"],
+ aars: ["androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"javawriter",
@@ -88,6 +108,10 @@
android_library {
name: "androidx.test.espresso.core",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.espresso.core/AndroidManifest.xml",
static_libs: [
@@ -105,8 +129,12 @@
android_library_import {
name: "androidx.test.espresso.idling-resource-nodeps",
- aars: ["androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02.aar"],
+ aars: ["androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
],
@@ -115,6 +143,10 @@
android_library {
name: "androidx.test.espresso.idling-resource",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml",
static_libs: [
@@ -125,8 +157,12 @@
android_library_import {
name: "androidx.test.espresso.intents-nodeps",
- aars: ["androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02.aar"],
+ aars: ["androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"androidx.test.espresso.core",
@@ -138,6 +174,10 @@
android_library {
name: "androidx.test.espresso.intents",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.espresso.intents/AndroidManifest.xml",
static_libs: [
@@ -151,8 +191,12 @@
android_library_import {
name: "androidx.test.espresso.web-nodeps",
- aars: ["androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02.aar"],
+ aars: ["androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"androidx.annotation_annotation",
@@ -164,6 +208,10 @@
android_library {
name: "androidx.test.espresso.web",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.espresso.web/AndroidManifest.xml",
static_libs: [
@@ -177,8 +225,12 @@
android_library_import {
name: "androidx.test.ext.junit-nodeps",
- aars: ["androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02.aar"],
+ aars: ["androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"junit",
@@ -191,6 +243,10 @@
android_library {
name: "androidx.test.ext.junit",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.ext.junit/AndroidManifest.xml",
static_libs: [
@@ -205,8 +261,12 @@
android_library_import {
name: "androidx.test.ext.truth-nodeps",
- aars: ["androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02.aar"],
+ aars: ["androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"guava",
@@ -219,6 +279,10 @@
android_library {
name: "androidx.test.ext.truth",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.ext.truth/AndroidManifest.xml",
static_libs: [
@@ -235,6 +299,10 @@
name: "androidx.test.janktesthelper-nodeps",
aars: ["androidx/test/janktesthelper/janktesthelper/1.0.1/janktesthelper-1.0.1.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "23",
static_libs: [
"androidx.test.runner",
@@ -245,6 +313,10 @@
android_library {
name: "androidx.test.janktesthelper",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "23",
manifest: "manifests/androidx.test.janktesthelper/AndroidManifest.xml",
static_libs: [
@@ -257,8 +329,12 @@
android_library_import {
name: "androidx.test.monitor-nodeps",
- aars: ["androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02.aar"],
+ aars: ["androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"androidx.annotation_annotation",
@@ -268,6 +344,10 @@
android_library {
name: "androidx.test.monitor",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.monitor/AndroidManifest.xml",
static_libs: [
@@ -279,8 +359,12 @@
android_library_import {
name: "androidx.test.rules-nodeps",
- aars: ["androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02.aar"],
+ aars: ["androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"androidx.test.runner",
@@ -293,6 +377,10 @@
android_library {
name: "androidx.test.rules",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.rules/AndroidManifest.xml",
static_libs: [
@@ -307,19 +395,28 @@
android_library_import {
name: "androidx.test.runner-nodeps",
- aars: ["androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.aar"],
+ aars: ["androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
static_libs: [
"androidx.annotation_annotation",
"junit",
"androidx.test.monitor",
+ "androidx.test.services.storage",
],
}
android_library {
name: "androidx.test.runner",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "14",
manifest: "manifests/androidx.test.runner/AndroidManifest.xml",
static_libs: [
@@ -327,6 +424,39 @@
"androidx.annotation_annotation",
"junit",
"androidx.test.monitor",
+ "androidx.test.services.storage",
+ ],
+ java_version: "1.7",
+}
+
+android_library_import {
+ name: "androidx.test.services.storage-nodeps",
+ aars: ["androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03.aar"],
+ sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ static_libs: [
+ "jsr305",
+ "androidx.test.monitor",
+ ],
+}
+
+android_library {
+ name: "androidx.test.services.storage",
+ sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ manifest: "manifests/androidx.test.services.storage/AndroidManifest.xml",
+ static_libs: [
+ "androidx.test.services.storage-nodeps",
+ "jsr305",
+ "androidx.test.monitor",
],
java_version: "1.7",
}
@@ -335,6 +465,10 @@
name: "androidx.test.uiautomator-nodeps",
aars: ["androidx/test/uiautomator/uiautomator/2.2.0/uiautomator-2.2.0.aar"],
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "18",
static_libs: [
],
@@ -346,6 +480,10 @@
android_library {
name: "androidx.test.uiautomator",
sdk_version: "current",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
min_sdk_version: "18",
manifest: "manifests/androidx.test.uiautomator/AndroidManifest.xml",
static_libs: [
diff --git a/common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02.aar b/common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02.aar
deleted file mode 100644
index 45c8edf..0000000
--- a/common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03-sources.jar
similarity index 67%
rename from common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02-sources.jar
rename to common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03-sources.jar
index 34398aa..2b2f08a 100644
--- a/common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02-sources.jar
+++ b/common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03.aar b/common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03.aar
new file mode 100644
index 0000000..8fd9f18
--- /dev/null
+++ b/common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02.pom b/common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03.pom
similarity index 94%
rename from common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02.pom
rename to common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03.pom
index 6b21657..a058cb3 100644
--- a/common/androidx-test/androidx/test/core/1.3.0-beta02/core-1.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/core/1.3.1-alpha03/core-1.3.1-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test</groupId>
<artifactId>core</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,7 +33,7 @@
<dependency>
<groupId>androidx.test</groupId>
<artifactId>monitor</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03-sources.jar
similarity index 83%
rename from common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03-sources.jar
index d3a6503..9330e1e 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02-sources.jar
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02.aar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03.aar
similarity index 70%
rename from common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02.aar
rename to common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03.aar
index 64c57e8..ef9e622 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02.aar
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02.pom b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03.pom
similarity index 94%
rename from common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02.pom
rename to common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03.pom
index d369e81..d49e440 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.3.0-beta02/espresso-contrib-3.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0-alpha03/espresso-contrib-3.4.0-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-contrib</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,13 +27,13 @@
<dependency>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-core</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-idling-resource</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -75,7 +75,7 @@
<dependency>
<groupId>com.google.android.apps.common.testing.accessibility.framework</groupId>
<artifactId>accessibility-test-framework</artifactId>
- <version>2.0</version>
+ <version>3.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02.aar b/common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02.aar
deleted file mode 100644
index f28710d..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03-sources.jar
similarity index 69%
rename from common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03-sources.jar
index 5a7f27b..dc97035 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02-sources.jar
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03.aar b/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03.aar
new file mode 100644
index 0000000..c1a14fe
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02.pom b/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03.pom
similarity index 94%
rename from common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02.pom
rename to common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03.pom
index 949d8ec..f2f919a 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.3.0-beta02/espresso-core-3.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0-alpha03/espresso-core-3.4.0-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-core</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,13 +27,13 @@
<dependency>
<groupId>androidx.test</groupId>
<artifactId>runner</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-idling-resource</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02.aar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02.aar
deleted file mode 100644
index 973eeff..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03-sources.jar
similarity index 67%
rename from common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03-sources.jar
index 06569bd..abab3f7 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02-sources.jar
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03.aar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03.aar
new file mode 100644
index 0000000..4caa333
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02.pom b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03.pom
similarity index 96%
rename from common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02.pom
rename to common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03.pom
index 98f13e6..c6de4a3 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.3.0-beta02/espresso-idling-resource-3.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0-alpha03/espresso-idling-resource-3.4.0-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-idling-resource</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02-sources.jar
deleted file mode 100644
index c502e53..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02.aar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02.aar
deleted file mode 100644
index d5ec067..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03-sources.jar
new file mode 100644
index 0000000..64f109a
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03.aar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03.aar
new file mode 100644
index 0000000..948d760
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02.pom b/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03.pom
similarity index 89%
rename from common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02.pom
rename to common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03.pom
index 31202a0..c7871d6 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-intents/3.3.0-beta02/espresso-intents-3.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0-alpha03/espresso-intents-3.4.0-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-intents</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,19 +27,19 @@
<dependency>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-core</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>androidx.test</groupId>
<artifactId>core</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>androidx.test</groupId>
<artifactId>rules</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<scope>compile</scope>
</dependency>
</dependencies>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02.aar b/common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02.aar
deleted file mode 100644
index a4cd8b2..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03-sources.jar
similarity index 82%
rename from common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03-sources.jar
index 25a6f23..61aecc9 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02-sources.jar
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03.aar b/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03.aar
new file mode 100644
index 0000000..b5895c5
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02.pom b/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03.pom
similarity index 94%
rename from common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02.pom
rename to common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03.pom
index 9f336d7..b265244 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-web/3.3.0-beta02/espresso-web-3.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0-alpha03/espresso-web-3.4.0-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-web</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,7 +27,7 @@
<dependency>
<groupId>androidx.test.espresso</groupId>
<artifactId>espresso-core</artifactId>
- <version>3.3.0-beta02</version>
+ <version>3.4.0-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02-sources.jar b/common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02-sources.jar
deleted file mode 100644
index 121fda8..0000000
--- a/common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02.aar b/common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02.aar
deleted file mode 100644
index 6209909..0000000
--- a/common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03-sources.jar b/common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03-sources.jar
new file mode 100644
index 0000000..adb3044
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03.aar b/common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03.aar
new file mode 100644
index 0000000..760913e
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02.pom b/common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03.pom
similarity index 92%
rename from common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02.pom
rename to common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03.pom
index 6fa4a53..74e9c44 100644
--- a/common/androidx-test/androidx/test/ext/junit/1.1.2-beta02/junit-1.1.2-beta02.pom
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.3-alpha03/junit-1.1.3-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test.ext</groupId>
<artifactId>junit</artifactId>
- <version>1.1.2-beta02</version>
+ <version>1.1.3-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,13 +33,13 @@
<dependency>
<groupId>androidx.test</groupId>
<artifactId>core</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>androidx.test</groupId>
<artifactId>monitor</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/common/androidx-test/androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02-sources.jar
rename to common/androidx-test/androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02.aar b/common/androidx-test/androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03.aar
similarity index 97%
rename from common/androidx-test/androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02.aar
rename to common/androidx-test/androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03.aar
index bc7bc10..0b16a9e 100644
--- a/common/androidx-test/androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02.aar
+++ b/common/androidx-test/androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02.pom b/common/androidx-test/androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03.pom
similarity index 95%
rename from common/androidx-test/androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02.pom
rename to common/androidx-test/androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03.pom
index 04e7b55..ca6d4bb 100644
--- a/common/androidx-test/androidx/test/ext/truth/1.3.0-beta02/truth-1.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/ext/truth/1.3.1-alpha03/truth-1.3.1-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test.ext</groupId>
<artifactId>truth</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,7 +27,7 @@
<dependency>
<groupId>androidx.test</groupId>
<artifactId>core</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02.aar b/common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02.aar
deleted file mode 100644
index 88571d0..0000000
--- a/common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03-sources.jar
similarity index 72%
rename from common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02-sources.jar
rename to common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03-sources.jar
index 69c0b7a..3c818cb 100644
--- a/common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02-sources.jar
+++ b/common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03.aar b/common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03.aar
new file mode 100644
index 0000000..e4a60c4
--- /dev/null
+++ b/common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02.pom b/common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03.pom
similarity index 96%
rename from common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02.pom
rename to common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03.pom
index dbd68b4..2f42bf7 100644
--- a/common/androidx-test/androidx/test/monitor/1.3.0-beta02/monitor-1.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/monitor/1.3.1-alpha03/monitor-1.3.1-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test</groupId>
<artifactId>monitor</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
diff --git a/common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02.aar b/common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02.aar
deleted file mode 100644
index 78d6b7d..0000000
--- a/common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03-sources.jar
similarity index 70%
rename from common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02-sources.jar
rename to common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03-sources.jar
index 52c8334..9970626 100644
--- a/common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02-sources.jar
+++ b/common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03.aar b/common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03.aar
new file mode 100644
index 0000000..5081909
--- /dev/null
+++ b/common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02.pom b/common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03.pom
similarity index 93%
rename from common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02.pom
rename to common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03.pom
index 8213f04..1deda4e 100644
--- a/common/androidx-test/androidx/test/rules/1.3.0-beta02/rules-1.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/rules/1.3.1-alpha03/rules-1.3.1-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test</groupId>
<artifactId>rules</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,7 +27,7 @@
<dependency>
<groupId>androidx.test</groupId>
<artifactId>runner</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<scope>compile</scope>
</dependency>
</dependencies>
diff --git a/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02-sources.jar b/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02-sources.jar
deleted file mode 100644
index 71bd822..0000000
--- a/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.aar b/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.aar
deleted file mode 100644
index 484d996..0000000
--- a/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03-sources.jar b/common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03-sources.jar
new file mode 100644
index 0000000..e8d9aa3
--- /dev/null
+++ b/common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03.aar b/common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03.aar
new file mode 100644
index 0000000..0782917
--- /dev/null
+++ b/common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.pom b/common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03.pom
similarity index 84%
rename from common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.pom
rename to common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03.pom
index 8c8d4d0..0c250f1 100644
--- a/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/runner/1.3.1-alpha03/runner-1.3.1-alpha03.pom
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.test</groupId>
<artifactId>runner</artifactId>
- <version>1.3.0-beta02</version>
+ <version>1.3.1-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,7 +33,13 @@
<dependency>
<groupId>androidx.test</groupId>
<artifactId>monitor</artifactId>
- <version>1.3.0-beta02</version>
+ <version>[1.3.1-alpha03]</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>androidx.test.services</groupId>
+ <artifactId>storage</artifactId>
+ <version>[1.3.1-alpha03]</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03-sources.jar b/common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03-sources.jar
new file mode 100644
index 0000000..3978eb7
--- /dev/null
+++ b/common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03.aar b/common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03.aar
new file mode 100644
index 0000000..98b0917
--- /dev/null
+++ b/common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.pom b/common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03.pom
similarity index 72%
copy from common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.pom
copy to common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03.pom
index 8c8d4d0..2ef2a77 100644
--- a/common/androidx-test/androidx/test/runner/1.3.0-beta02/runner-1.3.0-beta02.pom
+++ b/common/androidx-test/androidx/test/services/storage/1.3.1-alpha03/storage-1.3.1-alpha03.pom
@@ -3,9 +3,9 @@
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
- <groupId>androidx.test</groupId>
- <artifactId>runner</artifactId>
- <version>1.3.0-beta02</version>
+ <groupId>androidx.test.services</groupId>
+ <artifactId>storage</artifactId>
+ <version>1.3.1-alpha03</version>
<packaging>aar</packaging>
<name>AndroidX Test Library</name>
<description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -25,21 +25,15 @@
</developers>
<dependencies>
<dependency>
- <groupId>androidx.annotation</groupId>
- <artifactId>annotation</artifactId>
- <version>1.0.0</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
<groupId>androidx.test</groupId>
<artifactId>monitor</artifactId>
- <version>1.3.0-beta02</version>
+ <version>[1.3.1-alpha03]</version>
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>2.0.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
diff --git a/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml
index 72ccd59..f16ef39 100644
--- a/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml
+++ b/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml
@@ -26,6 +26,7 @@
<application>
<activity
android:name="androidx.test.core.app.InstrumentationActivityInvoker$BootstrapActivity"
+ android:exported="true"
android:theme="@android:style/Theme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -33,6 +34,7 @@
</activity>
<activity
android:name="androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity"
+ android:exported="true"
android:theme="@android:style/Theme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -40,6 +42,7 @@
</activity>
<activity
android:name="androidx.test.core.app.InstrumentationActivityInvoker$EmptyFloatingActivity"
+ android:exported="true"
android:theme="@android:style/Theme.Dialog" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
diff --git a/common/androidx-test/manifests/androidx.test.espresso.core/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.espresso.core/AndroidManifest.xml
index a48e3b0..82f8cb0 100644
--- a/common/androidx-test/manifests/androidx.test.espresso.core/AndroidManifest.xml
+++ b/common/androidx-test/manifests/androidx.test.espresso.core/AndroidManifest.xml
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="androidx.test.espresso" >
+ package="androidx.test.espresso.core" >
<uses-sdk
android:minSdkVersion="14"
diff --git a/common/androidx-test/manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml
index e201e84..7a50129 100644
--- a/common/androidx-test/manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml
+++ b/common/androidx-test/manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="androidx.test.espresso" >
+ package="androidx.test.espresso.idling.resource" >
<uses-sdk
android:minSdkVersion="14"
diff --git a/common/androidx-test/manifests/androidx.test.monitor/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.monitor/AndroidManifest.xml
index f3e4b2e..2cffb5c 100644
--- a/common/androidx-test/manifests/androidx.test.monitor/AndroidManifest.xml
+++ b/common/androidx-test/manifests/androidx.test.monitor/AndroidManifest.xml
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="androidx.test" >
+ package="androidx.test.monitor" >
<uses-sdk
android:minSdkVersion="14"
diff --git a/common/androidx-test/manifests/androidx.test.rules/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.rules/AndroidManifest.xml
index f3e4b2e..654fd76 100644
--- a/common/androidx-test/manifests/androidx.test.rules/AndroidManifest.xml
+++ b/common/androidx-test/manifests/androidx.test.rules/AndroidManifest.xml
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="androidx.test" >
+ package="androidx.test.rules" >
<uses-sdk
android:minSdkVersion="14"
diff --git a/common/androidx-test/manifests/androidx.test.runner/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.runner/AndroidManifest.xml
index f3e4b2e..df2fbe8 100644
--- a/common/androidx-test/manifests/androidx.test.runner/AndroidManifest.xml
+++ b/common/androidx-test/manifests/androidx.test.runner/AndroidManifest.xml
@@ -15,10 +15,19 @@
~ limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="androidx.test" >
+ package="androidx.test.runner" >
<uses-sdk
android:minSdkVersion="14"
- android:targetSdkVersion="28" />
+ android:targetSdkVersion="30" />
+
+ <queries>
+ <package android:name="androidx.test.orchestrator" />
+ <package android:name="androidx.test.services" />
+ <package android:name="com.google.android.apps.common.testing.services" />
+ </queries>
+
+ <!-- support for androidx.test.orchestrator clearPackageData -->
+ <application android:forceQueryable="true" />
</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.services.storage/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.services.storage/AndroidManifest.xml
new file mode 100644
index 0000000..7fdecc5
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.services.storage/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="androidx.test.services.storage" >
+
+ <uses-sdk
+ android:minSdkVersion="14"
+ android:targetSdkVersion="30" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/update-from-gmaven.py b/common/androidx-test/update-from-gmaven.py
index eb32e48..aef12fd 100755
--- a/common/androidx-test/update-from-gmaven.py
+++ b/common/androidx-test/update-from-gmaven.py
@@ -18,12 +18,13 @@
import subprocess
import sys
-runnerVersion="1.3.0-beta02"
+runnerVersion="1.3.1-alpha03"
rulesVersion=runnerVersion
-espressoVersion="3.3.0-beta02"
+espressoVersion="3.4.0-alpha03"
coreVersion=runnerVersion
-extJUnitVersion="1.1.2-beta02"
+extJUnitVersion="1.1.3-alpha03"
extTruthVersion=runnerVersion
+servicesVersion=runnerVersion
jankTestHelperVersion="1.0.1"
uiAutomatorVersion="2.2.0"
@@ -33,6 +34,7 @@
"androidx.test.espresso:espresso-":"androidx.test.espresso.",
"androidx.test.janktesthelper:janktesthelper":"androidx.test.janktesthelper",
"androidx.test.uiautomator:uiautomator":"androidx.test.uiautomator",
+ "androidx.test.services:storage":"androidx.test.services.storage",
}
extraLibs = {
@@ -111,6 +113,7 @@
downloadArtifact("androidx.test.ext", "truth", extTruthVersion)
downloadArtifact("androidx.test.janktesthelper", "janktesthelper", jankTestHelperVersion)
downloadArtifact("androidx.test.uiautomator", "uiautomator", uiAutomatorVersion)
+downloadArtifact("androidx.test.services", "storage", servicesVersion)
atxRewriteStr = ""
for name in mavenToBpPatternMap:
diff --git a/common/atf/Android.bp b/common/atf/Android.bp
index cbae976..4ec3b7b 100644
--- a/common/atf/Android.bp
+++ b/common/atf/Android.bp
@@ -21,8 +21,9 @@
default_applicable_licenses: ["prebuilts_misc_license"],
}
-java_import_host {
+java_import {
name: "atf-prebuilt-jars",
+ host_supported: true,
jars: [
"atf_classes.jar",
],
diff --git a/common/frameworks/PREBUILT b/common/frameworks/PREBUILT
index aa8e13b..2580dca 100644
--- a/common/frameworks/PREBUILT
+++ b/common/frameworks/PREBUILT
@@ -6,7 +6,7 @@
First AOSP build containing the change is aosp-master@7532584.
platformtestprotos-prebuilt.jar:
-Built from change I87e7a73d1160e3cf56a4c013e74989cdc90e1211.
+Built from change I82386a6c8a5e6ddf42d8377148001f4ede2f297f
Note: Before dropping the jars, please run the following command to strip the
jar manifest file, which causes hidden dependency on jars in the Class-Path.
diff --git a/common/frameworks/platformtestprotos-prebuilt.jar b/common/frameworks/platformtestprotos-prebuilt.jar
index be6ea6c..77b9419 100644
--- a/common/frameworks/platformtestprotos-prebuilt.jar
+++ b/common/frameworks/platformtestprotos-prebuilt.jar
Binary files differ
diff --git a/common/layoutlib_api/PREBUILT b/common/layoutlib_api/PREBUILT
index 33a45df..ee73643 100644
--- a/common/layoutlib_api/PREBUILT
+++ b/common/layoutlib_api/PREBUILT
@@ -1 +1 @@
-layoutlib_api-prebuilt.jar was built from tools/base/layoutlib-api@3b69c0bf62dd53bb097792fd2e687de49e1617f1
+layoutlib_api-prebuilt.jar was built from tools/base/layoutlib-api@508b5c918b458394283eea486561f525037b5a5e
diff --git a/common/layoutlib_api/layoutlib_api-prebuilt.jar b/common/layoutlib_api/layoutlib_api-prebuilt.jar
index f75ad63..18d65b2 100644
--- a/common/layoutlib_api/layoutlib_api-prebuilt.jar
+++ b/common/layoutlib_api/layoutlib_api-prebuilt.jar
Binary files differ
diff --git a/common/layoutlib_api/layoutlib_api-sources.jar b/common/layoutlib_api/layoutlib_api-sources.jar
index 540da4a..1987a20 100644
--- a/common/layoutlib_api/layoutlib_api-sources.jar
+++ b/common/layoutlib_api/layoutlib_api-sources.jar
Binary files differ
diff --git a/common/ninepatch/PREBUILT b/common/ninepatch/PREBUILT
index e53f4f0..d1af25b 100644
--- a/common/ninepatch/PREBUILT
+++ b/common/ninepatch/PREBUILT
@@ -1 +1 @@
-ninepatch-prebuilt.jar was built from tools/base/ninepatch@f1bc90f3b8f383c73aeb284b67bc0ccfae625911
+ninepatch-prebuilt.jar was built from tools/base/ninepatch@508b5c918b458394283eea486561f525037b5a5e
diff --git a/common/ninepatch/ninepatch-prebuilt-sources.jar b/common/ninepatch/ninepatch-prebuilt-sources.jar
index 78ade46..31e45b3 100644
--- a/common/ninepatch/ninepatch-prebuilt-sources.jar
+++ b/common/ninepatch/ninepatch-prebuilt-sources.jar
Binary files differ
diff --git a/common/ninepatch/ninepatch-prebuilt.jar b/common/ninepatch/ninepatch-prebuilt.jar
index 9ffa226..4250e6f 100644
--- a/common/ninepatch/ninepatch-prebuilt.jar
+++ b/common/ninepatch/ninepatch-prebuilt.jar
Binary files differ
diff --git a/common/robolectric/4.4/Android.bp b/common/robolectric/4.4/Android.bp
new file mode 100644
index 0000000..8029d5d
--- /dev/null
+++ b/common/robolectric/4.4/Android.bp
@@ -0,0 +1,55 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+java_import {
+ name: "platform-robolectric-4.4-prebuilt",
+ sdk_version: "current",
+ jars: [
+ "lib/animal-sniffer-annotations-1.17.jar",
+ "lib/annotation-1.1.0.jar",
+ "lib/annotations-4.4.jar",
+ "lib/asm-6.0.jar",
+ "lib/asm-commons-6.0.jar",
+ "lib/asm-tree-6.0.jar",
+ "lib/asm-util-6.0.jar",
+ "lib/auto-value-annotations-1.6.2.jar",
+ "lib/bcprov-jdk15on-1.65.jar",
+ "lib/checker-qual-2.5.2.jar",
+ "lib/commons-codec-1.3.jar",
+ "lib/commons-logging-1.1.1.jar",
+ "lib/error_prone_annotations-2.2.0.jar",
+ "lib/failureaccess-1.0.1.jar",
+ "lib/guava-27.0.1-jre.jar",
+ "lib/httpclient-4.0.3.jar",
+ "lib/httpcore-4.0.1.jar",
+ "lib/icu4j-53.1.jar",
+ "lib/j2objc-annotations-1.1.jar",
+ "lib/javax.annotation-api-1.3.2.jar",
+ "lib/javax.inject-1.jar",
+ "lib/jsr305-3.0.2.jar",
+ "lib/junit-4.4.jar",
+ "lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
+ "lib/monitor-1.3.0-rc03.aar",
+ "lib/pluginapi-4.4.jar",
+ "lib/plugins-maven-dependency-resolver-4.4.jar",
+ "lib/resources-4.4.jar",
+ "lib/robolectric-4.4.jar",
+ "lib/sandbox-4.4.jar",
+ "lib/shadowapi-4.4.jar",
+ "lib/shadows-framework-4.4.jar",
+ "lib/shadows-httpclient-4.4.jar",
+ "lib/shadows-multidex-4.4.jar",
+ "lib/shadows-playservices-4.4.jar",
+ "lib/shadows-supportv4-4.4.jar",
+ "lib/sqlite4java-0.282.jar",
+ "lib/utils-4.4.jar",
+ "lib/utils-reflector-4.4.jar",
+ "lib/vtd-xml-2.11.jar",
+ ],
+ exclude_files: [
+ "META-INF/*.SF",
+ "META-INF/*.DSA",
+ "META-INF/*.RSA",
+ ],
+}
diff --git a/common/robolectric/4.4/PREBUILT/download-libs.gradle b/common/robolectric/4.4/PREBUILT/download-libs.gradle
new file mode 100644
index 0000000..a01d969
--- /dev/null
+++ b/common/robolectric/4.4/PREBUILT/download-libs.gradle
@@ -0,0 +1,82 @@
+/*
+ * Modified from https://gist.github.com/xian/05c4f27da6d4156b9827842217c2cd5c
+ * Reference: http://robolectric.org/blog/2017/03/01/hermetic-builds/
+ */
+defaultTasks 'copyLibs'
+
+def shadowArtifacts = [
+ "org.robolectric:shadows-framework:${robolectricVersion}",
+ "org.robolectric:shadows-httpclient:${robolectricVersion}",
+ "org.robolectric:shadows-multidex:${robolectricVersion}",
+ "org.robolectric:shadows-playservices:${robolectricVersion}",
+ "org.robolectric:shadows-supportv4:${robolectricVersion}",
+]
+
+apply plugin: 'java'
+
+repositories {
+ mavenCentral()
+ google()
+}
+
+configurations {
+ sandbox
+ roboSources
+}
+
+// In this section you declare the dependencies for your production and test code
+dependencies {
+ compile("org.robolectric:robolectric:${robolectricVersion}") {
+ // we don't need these MavenDependencyResolver in a hermetic build
+ exclude group: 'org.apache.maven', module: ''
+ exclude group: 'org.apache.ant', module: ''
+ }
+
+ compile('com.ximpleware:vtd-xml:2.11') { force = true }
+ // Force ASM dependency to be 6.0 for JDK9 support
+ compile('org.ow2.asm:asm:6.0') { force = true }
+ compile('org.ow2.asm:asm-commons:6.0') { force = true }
+ compile('org.ow2.asm:asm-util:6.0') { force = true }
+
+ shadowArtifacts.forEach { shadowArtifact ->
+ compile ("${shadowArtifact}") {
+ // we don't need these MavenDependencyResolver in a hermetic build
+ exclude group: 'org.apache.maven', module: ''
+ exclude group: 'org.apache.ant', module: ''
+ }
+ sandbox ("${shadowArtifact}") {
+ // we don't need these MavenDependencyResolver in a hermetic build
+ exclude group: 'org.apache.maven', module: ''
+ exclude group: 'org.apache.ant', module: ''
+ }
+ }
+
+ def shadowArtifactsSet = shadowArtifacts.collect {it.toString()} toSet()
+ configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { ResolvedArtifact ra ->
+ ModuleVersionIdentifier id = ra.moduleVersion.id
+ // download only core sources. relax restriction if required
+ if ("org.robolectric".equals(id.group) && !shadowArtifactsSet.contains(id.toString())) {
+ roboSources("${id.group}:${id.name}:${id.version}:sources") {
+ transitive = false
+ }
+ }
+ }
+}
+
+
+task copyLibs(type: Copy) {
+ from configurations.compile
+ from configurations.roboSources
+ into "$buildDir/lib"
+
+ doLast {
+ def f = new File("$buildDir/classpath_jars.mk")
+ f.delete()
+ def jars = source.getFiles()
+ .collect { it.name }
+ .sort()
+ .findAll { !it.endsWith("sources.jar") }
+ .collect { " lib/${it} " }
+ f << "my_robolectric_runtime_deps := \\\n" << jars.join("\\\n") << "\n"
+ }
+}
diff --git a/common/robolectric/4.4/PREBUILT/download-libs.sh b/common/robolectric/4.4/PREBUILT/download-libs.sh
new file mode 100755
index 0000000..9853825
--- /dev/null
+++ b/common/robolectric/4.4/PREBUILT/download-libs.sh
@@ -0,0 +1,78 @@
+#! /bin/bash
+
+set -e
+
+printusage() {
+ echo "Usage: ./download-libs.sh <robolectric-version> " >&2
+ echo " -f <old-directory-to-copy-from>" >&2
+ exit 1
+}
+
+oldVersion=""
+roboVersion="$1"
+shift
+
+while getopts "f:h" opt; do
+ case "$opt" in
+ f)
+ oldVersion="$OPTARG"
+ ;;
+ h)
+ printusage
+ ;;
+ esac
+done
+
+if [[ -z $roboVersion ]] || [[ -z $oldVersion ]]; then
+ printusage
+fi
+
+mkdir -p ../"$roboVersion"/PREBUILT
+# Copy the scripts into the versioned directory for record
+cp download-libs.sh ../"$roboVersion"/PREBUILT/download-libs.sh
+cp download-libs.gradle ../"$roboVersion"/PREBUILT/download-libs.gradle
+
+cd ../"$roboVersion"
+gradle -b PREBUILT/download-libs.gradle \
+ -ProbolectricVersion="$roboVersion" \
+ -PshadowsVersion="$roboVersion" \
+ -PbuildDir="`pwd`"
+
+COPY_FROM_OLD_VERSION=(
+ "java-timeout"
+ "list_failed.sh"
+ "report-internal.mk"
+ "robotest-internal.mk"
+ "robotest.sh"
+ "run_robotests.mk"
+ "wrapper.sh"
+ "wrapper_test.sh"
+)
+
+for file in "${COPY_FROM_OLD_VERSION[@]}"; do
+ cp -n ../"$oldVersion"/$file ./$file
+done
+
+cat <<EOF > Android.bp
+java_import {
+ name: "platform-robolectric-${roboVersion}-prebuilt",
+ sdk_version: "current",
+ jars: [
+ "lib/annotations-${roboVersion}.jar",
+ "lib/asm-6.0.jar",
+ "lib/junit-${roboVersion}.jar",
+ "lib/resources-${roboVersion}.jar",
+ "lib/sandbox-${roboVersion}.jar",
+ "lib/shadowapi-${roboVersion}.jar",
+ "lib/shadows-framework-${roboVersion}.jar",
+ "lib/shadows-httpclient-${roboVersion}.jar",
+ "lib/shadows-multidex-${roboVersion}.jar",
+ "lib/shadows-supportv4-${roboVersion}.jar",
+ "lib/robolectric-${roboVersion}.jar",
+ "lib/utils-${roboVersion}.jar",
+ ],
+}
+
+EOF
+
+set +e
diff --git a/common/robolectric/4.4/classpath_jars.mk b/common/robolectric/4.4/classpath_jars.mk
new file mode 100644
index 0000000..d497060
--- /dev/null
+++ b/common/robolectric/4.4/classpath_jars.mk
@@ -0,0 +1,41 @@
+my_robolectric_runtime_deps := \
+ lib/animal-sniffer-annotations-1.17.jar \
+ lib/annotation-1.1.0.jar \
+ lib/annotations-4.4.jar \
+ lib/asm-6.0.jar \
+ lib/asm-commons-6.0.jar \
+ lib/asm-tree-6.0.jar \
+ lib/asm-util-6.0.jar \
+ lib/auto-value-annotations-1.6.2.jar \
+ lib/bcprov-jdk15on-1.65.jar \
+ lib/checker-qual-2.5.2.jar \
+ lib/commons-codec-1.3.jar \
+ lib/commons-logging-1.1.1.jar \
+ lib/error_prone_annotations-2.2.0.jar \
+ lib/failureaccess-1.0.1.jar \
+ lib/guava-27.0.1-jre.jar \
+ lib/httpclient-4.0.3.jar \
+ lib/httpcore-4.0.1.jar \
+ lib/icu4j-53.1.jar \
+ lib/j2objc-annotations-1.1.jar \
+ lib/javax.annotation-api-1.3.2.jar \
+ lib/javax.inject-1.jar \
+ lib/jsr305-3.0.2.jar \
+ lib/junit-4.4.jar \
+ lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar \
+ lib/monitor-1.3.0-rc03.aar \
+ lib/pluginapi-4.4.jar \
+ lib/plugins-maven-dependency-resolver-4.4.jar \
+ lib/resources-4.4.jar \
+ lib/robolectric-4.4.jar \
+ lib/sandbox-4.4.jar \
+ lib/shadowapi-4.4.jar \
+ lib/shadows-framework-4.4.jar \
+ lib/shadows-httpclient-4.4.jar \
+ lib/shadows-multidex-4.4.jar \
+ lib/shadows-playservices-4.4.jar \
+ lib/shadows-supportv4-4.4.jar \
+ lib/sqlite4java-0.282.jar \
+ lib/utils-4.4.jar \
+ lib/utils-reflector-4.4.jar \
+ lib/vtd-xml-2.11.jar
diff --git a/common/robolectric/4.4/java-timeout b/common/robolectric/4.4/java-timeout
new file mode 100755
index 0000000..921fc80
--- /dev/null
+++ b/common/robolectric/4.4/java-timeout
@@ -0,0 +1,94 @@
+#!/bin/bash
+#
+# Script for running java with a timeout.
+#
+# The timeout in seconds must be the first argument. The rest of the arguments
+# are passed to the java binary itself.
+#
+# For example:
+# java-timeout 120 -cp classes.jar org.junit.runner.JUnitCore
+# runs:
+# java -cp classes.jar org.junit.runner.JUnitCore
+# with a timeout of 2 minutes.
+
+set -euo pipefail
+
+# Prints a message and terminates the process.
+function fatal() {
+ echo "FATAL: $*"
+ exit 113
+}
+
+# Function that is invoked if java is terminated due to timeout.
+# It take the process ID of the java command as an argument if it has already
+# been started, or the empty string if not. It should very rarely receive the
+# empty string as the pid, but it is possible.
+function on_timeout() {
+ echo 'FATAL: command timed out'
+
+ local pid="${1-}"
+ shift || fatal '[on_timeout] missing argument: pid'
+ test $# = 0 || fatal '[on_timeout] too many arguments'
+
+ if [ "$pid" != '' ]; then
+ # It is possible that the process already terminated, but there is not much
+ # we can do about that.
+ kill -TERM -- "-$pid" # Kill the entire process group.
+ fi
+}
+
+# Executes java with the given argument, waiting for a termination signal from
+# runalarm which this script is running under. The arguments are passed to the
+# java binary itself.
+function execute() {
+ # Trap SIGTERM, which is what we will receive if runalarm interrupts us.
+ local pid # Set below after we run the process.
+ trap 'on_timeout $pid' SIGTERM
+ # Starts java within a new process group and saves it process ID before
+ # blocking waiting for it to complete. 'setsid' starts the process within a
+ # new process group, which means that it will not be killed when this shell
+ # command is killed. This is needed so that the signal handler in the trap
+ # command above to be invoked before the java command is terminated (and will
+ # in fact have to terminate it itself).
+ setsid -w java "$@" & pid="$!"; wait "$pid"
+}
+
+# Runs java with a timeout. The first argument is either the timeout in seconds
+# or the string 'execute', which is used internally to execute the command under
+# runalarm.
+function main() {
+ local timeout_secs="${1-}"
+ shift || fatal '[main]: missing argument: timeout_secs'
+ # The reset of the arguments are meant for the java binary itself.
+
+ if [[ $timeout_secs = '0' ]]; then
+ # Run without any timeout.
+ java "$@"
+ elif [[ $timeout_secs = 'execute' ]]; then
+ # This means we actually have to execute the command.
+ execute "$@"
+ elif (( timeout_secs < 30 )); then
+ # We want to have a timeout of at least 30 seconds, so that we are
+ # guaranteed to be able to start the java command in the subshell. This also
+ # catches non-numeric arguments.
+ fatal 'Must specify a timeout of at least 30 seconds.'
+ else
+ # Wrap the command with the standard timeout(1) if available.
+ # "runalarm" is a Google timeout clone, and Mac users who've installed
+ # GNU coreutils have timeout available as "gtimeout".
+ if type timeout > /dev/null 2>&1 ; then
+ timeout "${timeout_secs}" "$0" 'execute' "$@"
+ elif type runalarm > /dev/null 2>&1 ; then
+ runalarm -t "$timeout_secs" "$0" 'execute' "$@"
+ elif type gtimeout > /dev/null 2>&1 ; then
+ gtimeout "${timeout_secs}s" "$0" 'execute' "$@"
+ else
+ # No way to set a timeout available, just execute directly.
+ echo "Warning: unable to enforce timeout." 1>&2
+ java "$@"
+ fi
+ fi
+}
+
+
+main "$@"
diff --git a/common/robolectric/4.4/lib/animal-sniffer-annotations-1.17.jar b/common/robolectric/4.4/lib/animal-sniffer-annotations-1.17.jar
new file mode 100644
index 0000000..6ec7a60
--- /dev/null
+++ b/common/robolectric/4.4/lib/animal-sniffer-annotations-1.17.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/annotation-1.1.0.jar b/common/robolectric/4.4/lib/annotation-1.1.0.jar
new file mode 100644
index 0000000..0669512
--- /dev/null
+++ b/common/robolectric/4.4/lib/annotation-1.1.0.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/annotations-4.4-sources.jar b/common/robolectric/4.4/lib/annotations-4.4-sources.jar
new file mode 100644
index 0000000..fab488d
--- /dev/null
+++ b/common/robolectric/4.4/lib/annotations-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/annotations-4.4.jar b/common/robolectric/4.4/lib/annotations-4.4.jar
new file mode 100644
index 0000000..fe108db
--- /dev/null
+++ b/common/robolectric/4.4/lib/annotations-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/asm-6.0.jar b/common/robolectric/4.4/lib/asm-6.0.jar
new file mode 100644
index 0000000..cf2de27
--- /dev/null
+++ b/common/robolectric/4.4/lib/asm-6.0.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/asm-commons-6.0.jar b/common/robolectric/4.4/lib/asm-commons-6.0.jar
new file mode 100644
index 0000000..33ba0c4
--- /dev/null
+++ b/common/robolectric/4.4/lib/asm-commons-6.0.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/asm-tree-6.0.jar b/common/robolectric/4.4/lib/asm-tree-6.0.jar
new file mode 100644
index 0000000..2aa9815
--- /dev/null
+++ b/common/robolectric/4.4/lib/asm-tree-6.0.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/asm-util-6.0.jar b/common/robolectric/4.4/lib/asm-util-6.0.jar
new file mode 100644
index 0000000..9f9671c
--- /dev/null
+++ b/common/robolectric/4.4/lib/asm-util-6.0.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/auto-value-annotations-1.6.2.jar b/common/robolectric/4.4/lib/auto-value-annotations-1.6.2.jar
new file mode 100644
index 0000000..5f773d8
--- /dev/null
+++ b/common/robolectric/4.4/lib/auto-value-annotations-1.6.2.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/bcprov-jdk15on-1.65.jar b/common/robolectric/4.4/lib/bcprov-jdk15on-1.65.jar
new file mode 100644
index 0000000..32a83c7
--- /dev/null
+++ b/common/robolectric/4.4/lib/bcprov-jdk15on-1.65.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/checker-qual-2.5.2.jar b/common/robolectric/4.4/lib/checker-qual-2.5.2.jar
new file mode 100644
index 0000000..ae4e7f1
--- /dev/null
+++ b/common/robolectric/4.4/lib/checker-qual-2.5.2.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/commons-codec-1.3.jar b/common/robolectric/4.4/lib/commons-codec-1.3.jar
new file mode 100644
index 0000000..957b675
--- /dev/null
+++ b/common/robolectric/4.4/lib/commons-codec-1.3.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/commons-logging-1.1.1.jar b/common/robolectric/4.4/lib/commons-logging-1.1.1.jar
new file mode 100644
index 0000000..1deef14
--- /dev/null
+++ b/common/robolectric/4.4/lib/commons-logging-1.1.1.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/error_prone_annotations-2.2.0.jar b/common/robolectric/4.4/lib/error_prone_annotations-2.2.0.jar
new file mode 100644
index 0000000..c8e27b5
--- /dev/null
+++ b/common/robolectric/4.4/lib/error_prone_annotations-2.2.0.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/failureaccess-1.0.1.jar b/common/robolectric/4.4/lib/failureaccess-1.0.1.jar
new file mode 100644
index 0000000..9b56dc7
--- /dev/null
+++ b/common/robolectric/4.4/lib/failureaccess-1.0.1.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/guava-27.0.1-jre.jar b/common/robolectric/4.4/lib/guava-27.0.1-jre.jar
new file mode 100644
index 0000000..f164ce7
--- /dev/null
+++ b/common/robolectric/4.4/lib/guava-27.0.1-jre.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/httpclient-4.0.3.jar b/common/robolectric/4.4/lib/httpclient-4.0.3.jar
new file mode 100644
index 0000000..16e349a
--- /dev/null
+++ b/common/robolectric/4.4/lib/httpclient-4.0.3.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/httpcore-4.0.1.jar b/common/robolectric/4.4/lib/httpcore-4.0.1.jar
new file mode 100644
index 0000000..4aef35e
--- /dev/null
+++ b/common/robolectric/4.4/lib/httpcore-4.0.1.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/icu4j-53.1.jar b/common/robolectric/4.4/lib/icu4j-53.1.jar
new file mode 100644
index 0000000..2c3ff8b
--- /dev/null
+++ b/common/robolectric/4.4/lib/icu4j-53.1.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/j2objc-annotations-1.1.jar b/common/robolectric/4.4/lib/j2objc-annotations-1.1.jar
new file mode 100644
index 0000000..4b6f127
--- /dev/null
+++ b/common/robolectric/4.4/lib/j2objc-annotations-1.1.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/javax.annotation-api-1.3.2.jar b/common/robolectric/4.4/lib/javax.annotation-api-1.3.2.jar
new file mode 100644
index 0000000..a8a470a
--- /dev/null
+++ b/common/robolectric/4.4/lib/javax.annotation-api-1.3.2.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/javax.inject-1.jar b/common/robolectric/4.4/lib/javax.inject-1.jar
new file mode 100644
index 0000000..b2a9d0b
--- /dev/null
+++ b/common/robolectric/4.4/lib/javax.inject-1.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/jsr305-3.0.2.jar b/common/robolectric/4.4/lib/jsr305-3.0.2.jar
new file mode 100644
index 0000000..59222d9
--- /dev/null
+++ b/common/robolectric/4.4/lib/jsr305-3.0.2.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/junit-4.4-sources.jar b/common/robolectric/4.4/lib/junit-4.4-sources.jar
new file mode 100644
index 0000000..1848597
--- /dev/null
+++ b/common/robolectric/4.4/lib/junit-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/junit-4.4.jar b/common/robolectric/4.4/lib/junit-4.4.jar
new file mode 100644
index 0000000..c28f0dc
--- /dev/null
+++ b/common/robolectric/4.4/lib/junit-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar b/common/robolectric/4.4/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
new file mode 100644
index 0000000..45832c0
--- /dev/null
+++ b/common/robolectric/4.4/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/monitor-1.3.0-rc03.aar b/common/robolectric/4.4/lib/monitor-1.3.0-rc03.aar
new file mode 100644
index 0000000..69841db
--- /dev/null
+++ b/common/robolectric/4.4/lib/monitor-1.3.0-rc03.aar
Binary files differ
diff --git a/common/robolectric/4.4/lib/pluginapi-4.4-sources.jar b/common/robolectric/4.4/lib/pluginapi-4.4-sources.jar
new file mode 100644
index 0000000..086467b
--- /dev/null
+++ b/common/robolectric/4.4/lib/pluginapi-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/pluginapi-4.4.jar b/common/robolectric/4.4/lib/pluginapi-4.4.jar
new file mode 100644
index 0000000..f16d361
--- /dev/null
+++ b/common/robolectric/4.4/lib/pluginapi-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/plugins-maven-dependency-resolver-4.4-sources.jar b/common/robolectric/4.4/lib/plugins-maven-dependency-resolver-4.4-sources.jar
new file mode 100644
index 0000000..d9bcf02
--- /dev/null
+++ b/common/robolectric/4.4/lib/plugins-maven-dependency-resolver-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/plugins-maven-dependency-resolver-4.4.jar b/common/robolectric/4.4/lib/plugins-maven-dependency-resolver-4.4.jar
new file mode 100644
index 0000000..151c712
--- /dev/null
+++ b/common/robolectric/4.4/lib/plugins-maven-dependency-resolver-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/resources-4.4-sources.jar b/common/robolectric/4.4/lib/resources-4.4-sources.jar
new file mode 100644
index 0000000..f23fef7
--- /dev/null
+++ b/common/robolectric/4.4/lib/resources-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/resources-4.4.jar b/common/robolectric/4.4/lib/resources-4.4.jar
new file mode 100644
index 0000000..d578c63
--- /dev/null
+++ b/common/robolectric/4.4/lib/resources-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/robolectric-4.4-sources.jar b/common/robolectric/4.4/lib/robolectric-4.4-sources.jar
new file mode 100644
index 0000000..c738f8b
--- /dev/null
+++ b/common/robolectric/4.4/lib/robolectric-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/robolectric-4.4.jar b/common/robolectric/4.4/lib/robolectric-4.4.jar
new file mode 100644
index 0000000..0006986
--- /dev/null
+++ b/common/robolectric/4.4/lib/robolectric-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/sandbox-4.4-sources.jar b/common/robolectric/4.4/lib/sandbox-4.4-sources.jar
new file mode 100644
index 0000000..4cd75cd
--- /dev/null
+++ b/common/robolectric/4.4/lib/sandbox-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/sandbox-4.4.jar b/common/robolectric/4.4/lib/sandbox-4.4.jar
new file mode 100644
index 0000000..f39f7bf
--- /dev/null
+++ b/common/robolectric/4.4/lib/sandbox-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/shadowapi-4.4-sources.jar b/common/robolectric/4.4/lib/shadowapi-4.4-sources.jar
new file mode 100644
index 0000000..2c32cf2
--- /dev/null
+++ b/common/robolectric/4.4/lib/shadowapi-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/shadowapi-4.4.jar b/common/robolectric/4.4/lib/shadowapi-4.4.jar
new file mode 100644
index 0000000..be685df
--- /dev/null
+++ b/common/robolectric/4.4/lib/shadowapi-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/shadows-framework-4.4.jar b/common/robolectric/4.4/lib/shadows-framework-4.4.jar
new file mode 100644
index 0000000..c8d8d3b
--- /dev/null
+++ b/common/robolectric/4.4/lib/shadows-framework-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/shadows-httpclient-4.4.jar b/common/robolectric/4.4/lib/shadows-httpclient-4.4.jar
new file mode 100644
index 0000000..375e814
--- /dev/null
+++ b/common/robolectric/4.4/lib/shadows-httpclient-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/shadows-multidex-4.4.jar b/common/robolectric/4.4/lib/shadows-multidex-4.4.jar
new file mode 100644
index 0000000..2576bc4
--- /dev/null
+++ b/common/robolectric/4.4/lib/shadows-multidex-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/shadows-playservices-4.4.jar b/common/robolectric/4.4/lib/shadows-playservices-4.4.jar
new file mode 100644
index 0000000..b86db72
--- /dev/null
+++ b/common/robolectric/4.4/lib/shadows-playservices-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/shadows-supportv4-4.4.jar b/common/robolectric/4.4/lib/shadows-supportv4-4.4.jar
new file mode 100644
index 0000000..8d6d5ec
--- /dev/null
+++ b/common/robolectric/4.4/lib/shadows-supportv4-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/sqlite4java-0.282.jar b/common/robolectric/4.4/lib/sqlite4java-0.282.jar
new file mode 100644
index 0000000..686098f
--- /dev/null
+++ b/common/robolectric/4.4/lib/sqlite4java-0.282.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/utils-4.4-sources.jar b/common/robolectric/4.4/lib/utils-4.4-sources.jar
new file mode 100644
index 0000000..3c8dbb2
--- /dev/null
+++ b/common/robolectric/4.4/lib/utils-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/utils-4.4.jar b/common/robolectric/4.4/lib/utils-4.4.jar
new file mode 100644
index 0000000..b4add6a
--- /dev/null
+++ b/common/robolectric/4.4/lib/utils-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/utils-reflector-4.4-sources.jar b/common/robolectric/4.4/lib/utils-reflector-4.4-sources.jar
new file mode 100644
index 0000000..6248651
--- /dev/null
+++ b/common/robolectric/4.4/lib/utils-reflector-4.4-sources.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/utils-reflector-4.4.jar b/common/robolectric/4.4/lib/utils-reflector-4.4.jar
new file mode 100644
index 0000000..73f554d
--- /dev/null
+++ b/common/robolectric/4.4/lib/utils-reflector-4.4.jar
Binary files differ
diff --git a/common/robolectric/4.4/lib/vtd-xml-2.11.jar b/common/robolectric/4.4/lib/vtd-xml-2.11.jar
new file mode 100644
index 0000000..ecf0e2f
--- /dev/null
+++ b/common/robolectric/4.4/lib/vtd-xml-2.11.jar
Binary files differ
diff --git a/common/robolectric/4.4/list_failed.sh b/common/robolectric/4.4/list_failed.sh
new file mode 100755
index 0000000..1000ae1
--- /dev/null
+++ b/common/robolectric/4.4/list_failed.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# This script lists the tests which are failing in the output of Robolectric
+# tests.
+# TODO: Remove this script and move the functionality into a custom JUnit runner.
+
+# Matches the line specifying which test has failed and matches the test name
+# and class name as the first and second matching group, respectively.
+readonly FAILED_TEST_RE='^[1-9][0-9]*)\s\(\w\+\)(\(\(\w\|.\)\+\))$'
+
+# Fails with a message.
+function fatal() {
+ echo 1>&2 "FATAL: $@"
+ exit 113
+}
+
+function main() {
+ test $# = 0 || fatal "Too many arguments: $@"
+
+ sed -e '1,/^There \(was 1 failure\|were [0-9]* failures\):$/d' |
+ grep "$FAILED_TEST_RE" |
+ sed -e "s/$FAILED_TEST_RE/\2.\1/" ||
+ true
+}
+
+set -e
+set -o pipefail
+main "$@"
diff --git a/common/robolectric/4.4/report-internal.mk b/common/robolectric/4.4/report-internal.mk
new file mode 100644
index 0000000..4989632
--- /dev/null
+++ b/common/robolectric/4.4/report-internal.mk
@@ -0,0 +1,49 @@
+# Defines a target named $(my_target) for generating a coverage report.
+
+my_report_dir := $(my_coverage_dir)/reports
+my_coverage_output := $(my_report_dir)/coverage.xml
+
+# Private variables.
+$(my_coverage_output): PRIVATE_MODULE := $(LOCAL_MODULE)
+$(my_coverage_output): PRIVATE_COVERAGE_FILE := $(my_coverage_file)
+$(my_coverage_output): PRIVATE_COVERAGE_SRCS_JARS := $(my_coverage_srcs_jars)
+$(my_coverage_output): PRIVATE_INSTRUMENT_SOURCE_DIRS := $(my_instrument_source_dirs)
+$(my_coverage_output): PRIVATE_COVERAGE_REPORT_CLASS := $(my_coverage_report_class)
+$(my_coverage_output): PRIVATE_COVERAGE_REPORT_JAR := $(my_coverage_report_jar)
+$(my_coverage_output): PRIVATE_REPORT_DIR := $(my_report_dir)
+
+# Generate the coverage report.
+$(my_coverage_output): $(my_collect_file) $(my_coverage_report_jar)
+ $(hide) rm -rf $(PRIVATE_REPORT_DIR)
+ $(hide) mkdir -p $(PRIVATE_REPORT_DIR)
+ $(hide) $(JAVA) \
+ -cp $(PRIVATE_COVERAGE_REPORT_JAR) \
+ $(PRIVATE_COVERAGE_REPORT_CLASS) \
+ -classpath $(strip $(call normalize-path-list, $(PRIVATE_COVERAGE_SRCS_JARS))) \
+ --exec-file $(PRIVATE_COVERAGE_FILE) \
+ --name $(PRIVATE_MODULE) \
+ --report-dir $(PRIVATE_REPORT_DIR)/ \
+ --srcs $(strip $(call normalize-path-list, $(PRIVATE_INSTRUMENT_SOURCE_DIRS))) \
+ >$(PRIVATE_REPORT_DIR)/reporter.txt 2>&1
+ @echo "Coverage report: file://"$(realpath $(PRIVATE_REPORT_DIR))"/index.html"
+
+
+# Generate a ZIP file of the coverage report.
+my_coverage_output_zip := $(my_coverage_dir)/report-html.zip
+
+$(my_coverage_output_zip): PRIVATE_REPORT_DIR := $(my_report_dir)
+$(my_coverage_output_zip): $(my_coverage_output)
+ $(hide) cd $(PRIVATE_REPORT_DIR) && zip --quiet -r $(PWD)/$@ .
+
+# Add coverage report zip to dist files.
+$(call dist-for-goals, $(my_report_target), \
+ $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
+ $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
+
+# Running the coverage will always generate the report.
+$(my_target): $(my_coverage_output)
+
+# Reset local variables.
+my_coverage_output :=
+my_coverage_output_zip :=
+my_report_dir :=
diff --git a/common/robolectric/4.4/robotest-internal.mk b/common/robolectric/4.4/robotest-internal.mk
new file mode 100644
index 0000000..f8e4470
--- /dev/null
+++ b/common/robolectric/4.4/robotest-internal.mk
@@ -0,0 +1,97 @@
+# Defines a target named $(my_target) for running robolectric tests.
+
+# Running the tests is done in two stages: we first generate the test output to
+# $(my_target_output), which is also added to the dist list, and store the
+# return value of running the tests in $(my_target_retval). After that we
+# process the output and return value as part of $(my_target). This is needed
+# to make sure that we can install the test output even if the tests actually
+# fail.
+
+# Files in which to store the output and return value of the tests.
+my_target_xml := $(intermediates)/$(my_filename_stem)-output.xml
+my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
+my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
+
+# We should always re-run the tests, even if nothing has changed.
+# So until the build system has a dedicated "no cache" option, claim
+# to write a file that is never produced.
+my_target_nocache := $(intermediates)/$(my_filename_stem)-nocache
+
+# Private variables.
+$(my_target_output): PRIVATE_MODULE := $(LOCAL_MODULE)
+$(my_target_output): PRIVATE_TESTS := $(my_tests)
+$(my_target_output): PRIVATE_JARS := $(my_jars)
+$(my_target_output): PRIVATE_JAVA_ARGS := $(my_java_args)
+$(my_target_output): PRIVATE_ROBOLECTRIC_PATH := $(my_robolectric_path)
+$(my_target_output): PRIVATE_ROBOLECTRIC_SCRIPT_PATH := $(my_robolectric_script_path)
+$(my_target_output): PRIVATE_TARGET_MESSAGE := $(my_target_message)
+$(my_target_output): PRIVATE_TARGET_OUTPUT := $(my_target_output)
+$(my_target_output): PRIVATE_TARGET_RETVAL := $(my_target_retval)
+$(my_target_output): PRIVATE_TARGET_NOCACHE := $(my_target_nocache)
+$(my_target_output): PRIVATE_TIMEOUT := $(my_timeout)
+# Pin java binary to 8 or 9, the highest robolectric 3.6.1 and ASM 6.0 support:
+$(my_target_output): PRIVATE_JAVA_PATH := $(if $(my_use_java8),$(ANDROID_JAVA8_HOME)/bin:,$(ANDROID_JAVA9_HOME)/bin:)
+$(my_target_output): PRIVATE_XML_OUTPUT_FILE := $(my_target_xml)
+$(my_target_output): .KATI_IMPLICIT_OUTPUTS := $(my_target_xml) $(my_target_retval) $(my_target_nocache)
+# Runs the Robolectric tests and saves the output and return value.
+$(my_target_output): $(my_jars)
+ @echo "host Robolectric: $(PRIVATE_MODULE)"
+ # Run `touch` to always create the output XML file, so the build doesn't break even if the
+ # runner failed to create the XML output
+ $(hide) touch "$(PRIVATE_XML_OUTPUT_FILE)"
+ $(hide) rm -f "$(PRIVATE_TARGET_NOCACHE)"
+ $(hide) \
+ PRIVATE_INTERMEDIATES="$(dir $@)" \
+ PRIVATE_JARS="$(PRIVATE_JARS)" \
+ PRIVATE_JAVA_ARGS="$(PRIVATE_JAVA_ARGS)" \
+ PRIVATE_ROBOLECTRIC_PATH="$(PRIVATE_ROBOLECTRIC_PATH)" \
+ PRIVATE_ROBOLECTRIC_SCRIPT_PATH="$(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)" \
+ PRIVATE_RUN_INDIVIDUALLY="$(ROBOTEST_RUN_INDIVIDUALLY)" \
+ PRIVATE_TARGET_MESSAGE="$(PRIVATE_TARGET_MESSAGE)" \
+ PRIVATE_TIMEOUT="$(PRIVATE_TIMEOUT)" \
+ PRIVATE_TESTS="$(PRIVATE_TESTS)" \
+ XML_OUTPUT_FILE="$(PRIVATE_XML_OUTPUT_FILE)" \
+ TEST_WORKSPACE="$(PRIVATE_MODULE)" \
+ PATH=$(PRIVATE_JAVA_PATH)$${PATH} \
+ $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/wrapper.sh \
+ "$(PRIVATE_MODULE)" \
+ "$(PRIVATE_TARGET_OUTPUT)" \
+ "$(PRIVATE_TARGET_RETVAL)" \
+ wrap \
+ $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/robotest.sh
+
+# Private variables.
+$(my_target): PRIVATE_MODULE := $(LOCAL_MODULE)
+$(my_target): PRIVATE_TARGET_OUTPUT := $(my_target_output)
+$(my_target): PRIVATE_TARGET_RETVAL := $(my_target_retval)
+$(my_target): PRIVATE_FAILURE_FATAL := $(my_failure_fatal)
+$(my_target): PRIVATE_ROBOLECTRIC_SCRIPT_PATH := $(my_robolectric_script_path)
+# Process the output and the return value of the tests. This will fail if the
+# return value is non-zero.
+$(my_target): $(my_target_output) $(my_target_xml)
+ $(hide) \
+ result=0; \
+ $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/wrapper.sh \
+ "$(PRIVATE_MODULE)" \
+ "$(PRIVATE_TARGET_OUTPUT)" \
+ "$(PRIVATE_TARGET_RETVAL)" \
+ eval \
+ || result=$$?; \
+ if [ "$(strip $(PRIVATE_FAILURE_FATAL))" = true ]; then \
+ exit "$$result"; \
+ fi
+ $(hide) touch $@
+
+# Add the output of the tests to the dist list, so that we will include it even
+# if the tests fail.
+$(call dist-for-goals, $(my_phony_target), \
+ $(my_target_output):robotests/$(LOCAL_MODULE)-$(notdir $(my_target_output)) \
+ $(my_target_xml):robotests/$(LOCAL_MODULE)-$(notdir $(my_target_xml)))
+
+# Clean up local variables.
+my_target_output :=
+my_target_retval :=
+my_target_xml :=
+my_target_nocache :=
+my_filename_stem :=
+my_use_java8 :=
diff --git a/common/robolectric/4.4/robotest.sh b/common/robolectric/4.4/robotest.sh
new file mode 100755
index 0000000..160b533
--- /dev/null
+++ b/common/robolectric/4.4/robotest.sh
@@ -0,0 +1,122 @@
+#!/bin/bash
+#
+# Runs robolectric tests.
+
+set -euo pipefail
+
+# Terminate with a fatal error.
+function fatal() {
+ echo "Fatal: $*"
+ exit 113
+}
+
+# Ensures that the given variable is set.
+function validate_var() {
+ local name="$1"; shift || fatal "Missing argument: name"
+ test $# = 0 || fatal "Too many arguments"
+
+ eval [[ -n \${${name}+dummy} ]] || {
+ echo "Variable not set: $name";
+ return 1;
+ }
+}
+
+# Ensures that all the required variables are set.
+function validate_vars() {
+ test $# = 0 || fatal "Too many arguments"
+
+ validate_var 'PRIVATE_INTERMEDIATES'
+ validate_var 'PRIVATE_JARS'
+ validate_var 'PRIVATE_JAVA_ARGS'
+ validate_var 'PRIVATE_ROBOLECTRIC_PATH'
+ validate_var 'PRIVATE_ROBOLECTRIC_SCRIPT_PATH'
+ validate_var 'PRIVATE_RUN_INDIVIDUALLY'
+ validate_var 'PRIVATE_TARGET_MESSAGE'
+ validate_var 'PRIVATE_TESTS'
+ validate_var 'PRIVATE_TIMEOUT'
+
+ validate_var 'XML_OUTPUT_FILE'
+ validate_var 'TEST_WORKSPACE'
+}
+
+# Remove leading and trailing spaces around the given argument.
+function strip() {
+ local value="$1"; shift || fatal "Missing argument: value"
+ test $# = 0 || fatal "Too many arguments"
+
+ echo "$value" | sed -e 's/^ *//' -e 's/ *$//'
+}
+
+# Normalizes a list of paths and turns it into a colon-separated list.
+function normalize-path-list() {
+ echo "$@" | sed -e 's/^ *//' -e 's/ *$//' -e 's/ */ /g' -e 's/ /:/g'
+}
+
+function junit() {
+ # This adds the lib folder to the cp.
+ local classpath="$(strip "$(normalize-path-list "${PRIVATE_JARS}")")"
+ local command=(
+ "${PRIVATE_ROBOLECTRIC_SCRIPT_PATH}/java-timeout"
+ "${PRIVATE_TIMEOUT}"
+ ${PRIVATE_JAVA_ARGS}
+ -Drobolectric.dependency.dir="${PRIVATE_ROBOLECTRIC_PATH}"
+ -Drobolectric.offline=true
+ -Drobolectric.logging=stdout
+ -cp "$classpath"
+ com.android.junitxml.JUnitXmlRunner
+ )
+ echo "${command[@]}" "$@"
+ "${command[@]}" "$@"
+}
+
+function runtests() {
+ local tests="$1"; shift || fatal "Missing argument: tests"
+ test $# = 0 || fatal "Too many arguments"
+
+ if [[ "$(strip "${PRIVATE_RUN_INDIVIDUALLY}")" = 'true' ]]; then
+ local result=0
+ for test in ${tests}; do
+ echo "-------------------------------------------------------------------"
+ echo "Running $test:"
+ junit "${test}"
+ done
+ return "$result"
+ else
+ echo "-------------------------------------------------------------------"
+ echo "Running $tests:"
+ junit $tests # Contains a space-separated list of tests.
+ fi
+}
+
+# Run the robolectric tests
+function run() {
+ test $# = 0 || fatal "Too many arguments"
+
+ [ "${PRIVATE_TARGET_MESSAGE}" == '' ] || echo "${PRIVATE_TARGET_MESSAGE}"
+ local tests="${PRIVATE_TESTS}"
+ if [ "$tests" = '' ]; then
+ # Somehow there are no tests to run. Assume this is failure.
+ echo "No tests to run."
+ exit 1
+ fi
+ local output="${PRIVATE_INTERMEDIATES}/output.out"
+ local failed="${PRIVATE_INTERMEDIATES}/failed.out"
+ local result=0
+ runtests "${tests}" >"$output" 2>&1 || result="$?"
+ echo "$output"
+ cat "$output"
+ if [ "$result" = 0 ]; then
+ return "$result"
+ fi
+ "${PRIVATE_ROBOLECTRIC_SCRIPT_PATH}/list_failed.sh" <"$output" >"$failed"
+ return "$result"
+}
+
+function main() {
+ test $# = 0 || fatal "Too many arguments"
+
+ validate_vars
+ run
+}
+
+main "$@"
diff --git a/common/robolectric/4.4/run_robotests.mk b/common/robolectric/4.4/run_robotests.mk
new file mode 100644
index 0000000..0001ea1
--- /dev/null
+++ b/common/robolectric/4.4/run_robotests.mk
@@ -0,0 +1,231 @@
+# Rules for running robolectric tests.
+#
+# Uses the following variables:
+#
+# LOCAL_JAVA_LIBRARIES
+# LOCAL_STATIC_JAVA_LIBRARIES
+# LOCAL_ROBOTEST_FAILURE_FATAL
+# LOCAL_ROBOTEST_TIMEOUT
+# LOCAL_TEST_PACKAGE
+# LOCAL_ROBOTEST_FILES
+# ROBOTEST_FAILURE_FATAL
+# ROBOTEST_FILTER
+# ROBOTEST_RUN_INDIVIDUALLY
+#
+#
+# If ROBOTEST_FAILURE_FATAL is set to true then failing tests will cause a
+# build failure. Otherwise failures will be logged but ignored by make.
+#
+# If ROBOTEST_FILTER is set to a regex then only tests matching that pattern
+# will be run. This currently only works at the class level.
+#
+# TODO: Switch to a JUnit runner which can support method-level test
+# filtering and use that rather than grep to implement ROBOTEST_FILTER.
+#
+# If ROBOTEST_RUN_INDIVIDUALLY is set to true, each test class will be run by a
+# different JVM, preventing any interaction between different tests. This is
+# significantly slower than running all tests within the same JVM, but prevents
+# unwanted interactions.
+#
+# Tests classes are found by looking for *Test.java files in
+# LOCAL_PATH recursively.
+
+################################################
+# General settings, independent of the module. #
+################################################
+
+### Used for running tests.
+
+# Where to find Robolectric.
+my_robolectric_script_path := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
+# Explicitly define the jars and their classpath ordering.
+include $(my_robolectric_script_path)/classpath_jars.mk
+my_robolectric_jars := \
+ $(addprefix $(my_robolectric_script_path)/,$(my_robolectric_runtime_deps)) \
+ $(call java-lib-files,junit)
+
+my_collect_target := $(LOCAL_MODULE)-coverage
+my_report_target := $(LOCAL_MODULE)-jacoco
+.PHONY: $(my_collect_target) $(my_report_target)
+# Whether or not to ignore the result of running the robotests.
+# LOCAL_ROBOTEST_FAILURE_FATAL will take precedence over ROBOTEST_FAILURE_FATAL,
+# if present.
+my_failure_fatal := $(if $(LOCAL_ROBOTEST_FAILURE_FATAL)$(ROBOTEST_FAILURE_FATAL),true,false)
+# The timeout for the command. A value of '0' means no timeout. The default is
+# 10 minutes.
+my_timeout := $(if $(LOCAL_ROBOTEST_TIMEOUT),$(LOCAL_ROBOTEST_TIMEOUT),600)
+# Command to filter the list of test classes.
+# If not specified, defaults to including all the tests.
+my_test_filter_command := $(if $(ROBOTEST_FILTER),grep -E "$(ROBOTEST_FILTER)",cat)
+
+# The directory containing the sources.
+my_instrument_makefile_dir := $(dir $(ALL_MODULES.$(LOCAL_TEST_PACKAGE).MAKEFILE))
+my_instrument_source_dirs := $(if $(LOCAL_INSTRUMENT_SOURCE_DIRS),\
+ $(LOCAL_INSTRUMENT_SOURCE_DIRS),\
+ $(my_instrument_makefile_dir)src $(my_instrument_makefile_dir)java)
+
+##########################
+# Used by base_rules.mk. #
+##########################
+
+LOCAL_MODULE_CLASS := ROBOLECTRIC
+# This is actually a phony target that is never built.
+LOCAL_BUILT_MODULE_STEM := test.fake
+# Since it is not built, it cannot be installed. But we will define our own
+# dist files, depending on which of the specific targets is invoked.
+LOCAL_UNINSTALLABLE_MODULE := true
+# Do not build it for checkbuild or mma
+LOCAL_DONT_CHECK_MODULE := true
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+
+#############################
+# Module specific settings. #
+#############################
+
+### Used for running tests.
+
+# The list of test classes. Robolectric requires an explicit list of tests to
+# run, which is compiled from the Java files ending in "Test" within the
+# directory from which this module is invoked.
+ifeq ($(strip $(LOCAL_ROBOTEST_FILES)),)
+ LOCAL_ROBOTEST_FILES := $(call find-files-in-subdirs,$(LOCAL_PATH)/src,*Test.java,.)
+endif
+# Convert the paths into package names by removing .java extension and replacing "/" with "."
+my_tests := $(subst /,.,$(basename $(LOCAL_ROBOTEST_FILES)))
+my_tests := $(sort $(shell echo '$(my_tests)' | tr ' ' '\n' | $(my_test_filter_command)))
+# The source jars containing the tests.
+my_srcs_jars := \
+ $(foreach lib, \
+ $(LOCAL_JAVA_LIBRARIES) $(LOCAL_STATIC_JAVA_LIBRARIES), \
+ $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/classes-pre-proguard.jar) \
+ $(foreach lib, \
+ $(LOCAL_TEST_PACKAGE), \
+ $(call intermediates-dir-for,APPS,$(lib),,COMMON)/classes-pre-proguard.jar)
+# The jars needed to run the tests.
+my_jars := \
+ $(my_robolectric_jars) \
+ $(call resolve-prebuilt-sdk-jar-path,$(if $(LOCAL_SDK_VERSION),$(LOCAL_SDK_VERSION),current)) \
+ $(call java-lib-files,junitxml) \
+ $(my_srcs_jars)
+
+
+
+# Run tests.
+my_phony_target := $(LOCAL_MODULE)
+my_target := $(LOCAL_BUILT_MODULE)
+my_filename_stem := test
+
+android_all_lib_path := $(my_robolectric_script_path)/../android-all
+my_robolectric_path := $(intermediates.COMMON)/android-all
+android_all_jars := $(call find-files-in-subdirs,$(android_all_lib_path),*.jar,.)
+copy_android_all_jars := $(foreach j,$(android_all_jars),\
+ $(android_all_lib_path)/$(j):$(my_robolectric_path)/$(j))
+$(my_robolectric_path): $(call copy-many-files,$(copy_android_all_jars))
+$(my_target): $(my_robolectric_path)
+
+# Setting the DEBUG_ROBOLECTRIC environment variable will print additional logging from
+# Robolectric and also make it wait for a debugger to be connected.
+# For Android Studio / IntelliJ the debugger can be connected via the "remote" configuration:
+# https://www.jetbrains.com/help/idea/2016.2/run-debug-configuration-remote.html
+# From command line the debugger can be connected via
+# jdb -attach localhost:5005
+ifdef DEBUG_ROBOLECTRIC
+ # The arguments to the JVM needed to debug the tests.
+ # - server: wait for connection rather than connecting to a debugger
+ # - transport: how to accept debugger connections (sockets)
+ # - address: the port on which to accept debugger connections
+ # - timeout: how long (in ms) to wait for a debugger to connect
+ # - suspend: do not start running any code until the debugger connects
+ my_java_args := \
+ -Drobolectric.logging.enabled=true \
+ -Xdebug -agentlib:jdwp=server=y,transport=dt_socket,address=localhost:5005,suspend=y
+
+ # Remove the timeout so Robolectric doesn't get killed while debugging
+ my_timeout := 0
+endif
+
+include $(my_robolectric_script_path)/robotest-internal.mk
+# clean local variables
+my_java_args :=
+my_phony_target :=
+my_target :=
+
+# Target for running robolectric tests using jacoco
+my_phony_target := $(my_report_target)
+my_target := $(LOCAL_BUILT_MODULE)-coverage
+my_collect_file := $(my_target)
+my_filename_stem := coverage
+$(my_collect_target): $(my_target)
+$(my_target): $(call java-lib-files,jvm-jacoco-agent,true) $(my_robolectric_path)
+
+my_coverage_dir := $(intermediates)/coverage
+my_coverage_file := $(my_coverage_dir)/jacoco.exec
+
+# List of packages to exclude jacoco from running
+my_jacoco_excludes := \
+ org.robolectric.* \
+ org.mockito.* \
+ org.junit.* \
+ org.objectweb.* \
+ com.thoughtworks.xstream.*
+# The Jacoco agent JAR.
+my_jacoco_agent_jar := $(call java-lib-files,jvm-jacoco-agent,true)
+# Using Jacoco with Robolectric is broken in 0.7.3 <= version < 0.7.6.
+# In 0.7.6 or above, the parameter "inclnolocationclasses" is needed.
+# See https://github.com/jacoco/jacoco/pull/288 for more
+# In JDK9, if "inclnolocationclasses" is used, we also need to specify
+# exclclassloader=jdk.internal.reflect.DelegatingClassLoader
+# https://github.com/jacoco/jacoco/issues/16
+my_jacoco_agent_args = \
+ destfile=$(my_coverage_file) \
+ excludes=$(call normalize-path-list, $(my_jacoco_excludes)) \
+ inclnolocationclasses=true \
+ exclclassloader=jdk.internal.reflect.DelegatingClassLoader \
+ append=false
+my_java_args := \
+ -javaagent:$(my_jacoco_agent_jar)=$(call normalize-comma-list, $(my_jacoco_agent_args))
+include $(my_robolectric_script_path)/robotest-internal.mk
+# Clear temporary variables
+my_failure_fatal :=
+my_jacoco_agent_jar :=
+my_jacoco_agent_args :=
+my_jacoco_excludes :=
+my_java_args :=
+my_phony_target :=
+my_robolectric_jars :=
+my_target :=
+my_tests :=
+my_filename_stem :=
+
+# Target for generating code coverage reports using jacoco.exec
+my_target := $(LOCAL_BUILT_MODULE)-jacoco
+$(my_report_target): $(my_target)
+
+# The JAR file containing the report generation tool.
+my_coverage_report_class := com.google.android.jacoco.reporter.ReportGenerator
+my_coverage_report_jar := $(call java-lib-files,jvm-jacoco-reporter,true)
+my_coverage_srcs_jars := $(my_srcs_jars)
+my_coverage_report_dist_file := $(my_report_target)-html.zip
+
+## jacoco code coverage reports
+include $(my_robolectric_script_path)/report-internal.mk
+# Clear temporary variables
+my_coverage_dir :=
+my_coverage_file :=
+my_coverage_report_class :=
+my_coverage_report_dist_file :=
+my_coverage_report_jar :=
+my_coverage_srcs_jars :=
+my_robolectric_script_path :=
+my_robolectric_path :=
+my_srcs_jars :=
+my_target :=
+my_collect_file :=
+
+# Clear local variables specific to this build.
+LOCAL_ROBOTEST_FAILURE_FATAL :=
+LOCAL_ROBOTEST_TIMEOUT :=
+LOCAL_ROBOTEST_FILES :=
+LOCAL_INSTRUMENT_SOURCE_DIRS :=
diff --git a/common/robolectric/4.4/wrapper.sh b/common/robolectric/4.4/wrapper.sh
new file mode 100755
index 0000000..8d74246
--- /dev/null
+++ b/common/robolectric/4.4/wrapper.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# A simple script to wrap the execution of a command so that it stores its
+# output and return value into a file and then process it to later on.
+#
+# This is meant to be used in a makefile, specifically to allow for the output
+# of a command to be stored in a file and added to the dist list, even if the
+# command actually failed.
+#
+# For example, your makefile might include:
+#
+# my_target := lint
+# my_target_output := $(OUT_DIR)/lint-output.txt
+# my_target_retval := $(OUT_DIR)/lint-retval.txt
+#
+# $(my_target_output) $(my_target_retval): PRIVATE_MODULE := $(my_target)
+# $(my_target_output) $(my_target_retval): PRIVATE_OUTPUT := $(my_target_output)
+# $(my_target_output) $(my_target_retval): PRIVATE_RETVAL := $(my_target_retval)
+# $(my_target_output) $(my_target_retval):
+# $(PATH)/wrapper.sh \
+# $(PRIVATE_MODULE) \
+# $(PRIVATE_OUTPUT) \
+# $(PRIVATE_RETVAL) \
+# wrap \
+# $(PATH)/run-list.sh $(LOCAL_PATH)/src
+#
+# $(my_target): PRIVATE_MODULE := $(my_target)
+# $(my_target): PRIVATE_OUTPUT := $(my_target_output)
+# $(my_target): PRIVATE_RETVAL := $(my_target_retval)
+# $(my_target): $(my_target_output) $(my_target_retval)
+# $(PATH)/wrapper.sh \
+# $(PRIVATE_MODULE) \
+# $(PRIVATE_OUTPUT) \
+# $(PRIVATE_RETVAL) \
+# eval
+
+set -euo pipefail
+
+# Terminate with a fatal error.
+function fatal() {
+ echo "Fatal: $*"
+ exit 113
+}
+
+function main() {
+ local module="${1-}"; shift || fatal "missing argument: module"
+ local output="${1-}"; shift || fatal "missing argument: output"
+ local retval="${1-}"; shift || fatal "missing argument: retval"
+ local action="${1-}"; shift || fatal "missing argument: action"
+ # The rest of the arguments are the command to run.
+
+ if [ "$action" = 'wrap' ]; then
+ # Run the command specified by the rest of arguments ("$@") and save output
+ # and return value.
+ echo 0 >"${retval}"
+ "$@" >"${output}" 2>&1 || echo "$?" >"${retval}"
+
+ # Wrapping itself is always successful.
+ return
+ elif [ "$action" = 'eval' ]; then
+ local result="$(cat "${retval}")"
+ if [ "$result" = 0 ]; then
+ # If successful only print the last few lines.
+ tail -n 5 "$output" | sed -e "s/^/${module}: /"
+ else
+ # Print the entire output on failure.
+ cat "$output" | sed -e "s/^/${module}: /"
+ fi
+ # Evaluating returns the stored return value.
+ return "$result"
+ else
+ fatal "invalid action: $action"
+ fi
+}
+
+main "$@"
diff --git a/common/robolectric/4.4/wrapper_test.sh b/common/robolectric/4.4/wrapper_test.sh
new file mode 100755
index 0000000..42a04c5
--- /dev/null
+++ b/common/robolectric/4.4/wrapper_test.sh
@@ -0,0 +1,172 @@
+#!/bin/bash
+#
+# Tests for wrapper.sh.
+
+set -euo pipefail
+
+# The location of the script under test.
+readonly WRAPPER="$(realpath "$(dirname "$0")/wrapper.sh")"
+# The name of the tests to run. Each test correspond to a function in this file
+# whose name is the name of the test prefixed by 'test'.
+readonly TEST_NAMES=(
+ SuccessfulCase
+ FailedCase
+ FailedSignalCase
+)
+
+# Fails with an error message.
+function fatal() {
+ echo 1>&2 "FATAL: $@"
+ exit 113
+}
+
+function withTestFiles() {
+ (
+ echo '1'
+ echo '2'
+ echo '3'
+ echo '4'
+ echo '5'
+ echo '6'
+ echo '7'
+ ) >testfile
+ (
+ echo 'module: 1'
+ echo 'module: 2'
+ echo 'module: 3'
+ echo 'module: 4'
+ echo 'module: 5'
+ echo 'module: 6'
+ echo 'module: 7'
+ ) >testfileWithModule
+ (
+ echo 'module: 3'
+ echo 'module: 4'
+ echo 'module: 5'
+ echo 'module: 6'
+ echo 'module: 7'
+ ) >testfileWithModuleTruncated
+}
+
+function expectNoWrapOutput() {
+ if [ "$(cat output-wrap)" != '' ]; then
+ echo 'Wrap should not generate any output'
+ diff testfile output || true
+ return 1
+ fi
+}
+
+function expectSavedOutput() {
+ if ! diff testfile output; then
+ echo 'Should have saved the correct output'
+ diff testfile output || true
+ return 1
+ fi
+}
+
+function expectFullOutputWithModule() {
+ if ! diff testfileWithModule output-eval; then
+ echo 'Should have printed the full output'
+ diff testfileWithModule output || true
+ return 1
+ fi
+}
+
+function expectTruncatedOutputWithModule() {
+ if ! diff testfileWithModuleTruncated output-eval; then
+ echo 'Should have printed the truncated output'
+ diff testfileWithModuleTruncated output || true
+ return 1
+ fi
+}
+
+function whenWrap() {
+ "$WRAPPER" module "$PWD/output" "$PWD/retval" 'wrap' "$@" \
+ 2>/dev/null \
+ >output-wrap
+}
+
+function whenEval() {
+ "$WRAPPER" module "$PWD/output" "$PWD/retval" 'eval' "$@" \
+ >output-eval 2>&1
+}
+
+function testSuccessfulCase() {
+ withTestFiles
+ (
+ echo '#!/bin/bash'
+ echo
+ echo 'cat testfile'
+ ) >script.sh
+ chmod 755 script.sh
+ whenWrap "$PWD/script.sh"
+ expectNoWrapOutput
+ if ! whenEval; then
+ echo 'Should have run successfully'
+ return 1
+ fi
+ expectSavedOutput
+ expectTruncatedOutputWithModule
+}
+
+function testFailedCase() {
+ withTestFiles
+ (
+ echo '#!/bin/bash'
+ echo
+ echo 'cat testfile'
+ echo 'exit 1'
+ ) >script.sh
+ chmod 755 script.sh
+ whenWrap "$PWD/script.sh"
+ expectNoWrapOutput
+ if whenEval; then
+ echo 'Should have failed to run'
+ return 1
+ fi
+ expectSavedOutput
+ expectFullOutputWithModule
+}
+function testFailedSignalCase() {
+ withTestFiles
+ (
+ echo '#!/bin/bash'
+ echo
+ echo 'cat testfile'
+ echo 'kill -TERM $$'
+ echo 'echo Should not be printed'
+ ) >script.sh
+ chmod 755 script.sh
+ whenWrap "$PWD/script.sh"
+ expectNoWrapOutput
+ if whenEval; then
+ echo 'Should have failed to run'
+ return 1
+ fi
+ expectSavedOutput
+ expectFullOutputWithModule
+}
+
+
+function main() {
+ local result=0
+ local tmp="$(mktemp -d)"
+ for test_name in "${TEST_NAMES[@]}"; do
+ mkdir -p "$tmp/$test_name"
+ cd "$tmp/$test_name"
+ echo -n "Running $test_name..."
+ test"$test_name" >log || {
+ echo "FAILED";
+ sed -e "s/^/$test_name: /" <log
+ rm log
+ result=1;
+ continue;
+ }
+ echo "PASSED"
+ rm log
+ done
+ return "$result"
+}
+
+
+main "$@"
diff --git a/common/robolectric/4.5.1/Android.bp b/common/robolectric/4.5.1/Android.bp
new file mode 100644
index 0000000..c4f66b9
--- /dev/null
+++ b/common/robolectric/4.5.1/Android.bp
@@ -0,0 +1,55 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+java_import {
+ name: "platform-robolectric-4.5.1-prebuilt",
+ sdk_version: "current",
+ jars: [
+ "lib/animal-sniffer-annotations-1.17.jar",
+ "lib/annotation-1.1.0.jar",
+ "lib/annotations-4.5.1.jar",
+ "lib/asm-9.0.jar",
+ "lib/asm-analysis-9.0.jar",
+ "lib/asm-commons-9.0.jar",
+ "lib/asm-tree-9.0.jar",
+ "lib/asm-util-9.0.jar",
+ "lib/auto-value-annotations-1.6.2.jar",
+ "lib/bcprov-jdk15on-1.65.jar",
+ "lib/checker-qual-2.5.2.jar",
+ "lib/commons-codec-1.3.jar",
+ "lib/commons-logging-1.1.1.jar",
+ "lib/error_prone_annotations-2.2.0.jar",
+ "lib/failureaccess-1.0.1.jar",
+ "lib/guava-27.0.1-jre.jar",
+ "lib/httpclient-4.0.3.jar",
+ "lib/httpcore-4.0.1.jar",
+ "lib/icu4j-53.1.jar",
+ "lib/j2objc-annotations-1.1.jar",
+ "lib/javax.annotation-api-1.3.2.jar",
+ "lib/javax.inject-1.jar",
+ "lib/jsr305-3.0.2.jar",
+ "lib/junit-4.5.1.jar",
+ "lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
+ "lib/monitor-1.3.0-rc03.aar",
+ "lib/pluginapi-4.5.1.jar",
+ "lib/plugins-maven-dependency-resolver-4.5.1.jar",
+ "lib/resources-4.5.1.jar",
+ "lib/robolectric-4.5.1.jar",
+ "lib/sandbox-4.5.1.jar",
+ "lib/shadowapi-4.5.1.jar",
+ "lib/shadows-framework-4.5.1.jar",
+ "lib/shadows-httpclient-4.5.1.jar",
+ "lib/shadows-multidex-4.5.1.jar",
+ "lib/shadows-playservices-4.5.1.jar",
+ "lib/shadows-supportv4-4.5.1.jar",
+ "lib/sqlite4java-1.0.392.jar",
+ "lib/utils-4.5.1.jar",
+ "lib/utils-reflector-4.5.1.jar",
+ ],
+ exclude_files: [
+ "META-INF/*.SF",
+ "META-INF/*.DSA",
+ "META-INF/*.RSA",
+ ],
+}
diff --git a/common/robolectric/4.5.1/PREBUILT/download-libs.gradle b/common/robolectric/4.5.1/PREBUILT/download-libs.gradle
new file mode 100644
index 0000000..52f241d
--- /dev/null
+++ b/common/robolectric/4.5.1/PREBUILT/download-libs.gradle
@@ -0,0 +1,76 @@
+/*
+ * Modified from https://gist.github.com/xian/05c4f27da6d4156b9827842217c2cd5c
+ * Reference: http://robolectric.org/blog/2017/03/01/hermetic-builds/
+ */
+defaultTasks 'copyLibs'
+
+def shadowArtifacts = [
+ "org.robolectric:shadows-framework:${robolectricVersion}",
+ "org.robolectric:shadows-httpclient:${robolectricVersion}",
+ "org.robolectric:shadows-multidex:${robolectricVersion}",
+ "org.robolectric:shadows-playservices:${robolectricVersion}",
+ "org.robolectric:shadows-supportv4:${robolectricVersion}",
+]
+
+apply plugin: 'java'
+
+repositories {
+ mavenCentral()
+ google()
+}
+
+configurations {
+ sandbox
+ roboSources
+}
+
+// In this section you declare the dependencies for your production and test code
+dependencies {
+ compile("org.robolectric:robolectric:${robolectricVersion}") {
+ // we don't need these MavenDependencyResolver in a hermetic build
+ exclude group: 'org.apache.maven', module: ''
+ exclude group: 'org.apache.ant', module: ''
+ }
+
+ shadowArtifacts.forEach { shadowArtifact ->
+ compile ("${shadowArtifact}") {
+ // we don't need these MavenDependencyResolver in a hermetic build
+ exclude group: 'org.apache.maven', module: ''
+ exclude group: 'org.apache.ant', module: ''
+ }
+ sandbox ("${shadowArtifact}") {
+ // we don't need these MavenDependencyResolver in a hermetic build
+ exclude group: 'org.apache.maven', module: ''
+ exclude group: 'org.apache.ant', module: ''
+ }
+ }
+
+ def shadowArtifactsSet = shadowArtifacts.collect {it.toString()} toSet()
+ configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { ResolvedArtifact ra ->
+ ModuleVersionIdentifier id = ra.moduleVersion.id
+ // download only core sources. relax restriction if required
+ if ("org.robolectric".equals(id.group) && !shadowArtifactsSet.contains(id.toString())) {
+ roboSources("${id.group}:${id.name}:${id.version}:sources") {
+ transitive = false
+ }
+ }
+ }
+}
+
+
+task copyLibs(type: Copy) {
+ from configurations.compile
+ from configurations.roboSources
+ into "$buildDir/lib"
+
+ doLast {
+ def f = new File("$buildDir/classpath_jars.mk")
+ f.delete()
+ def jars = source.getFiles()
+ .collect { it.name }
+ .sort()
+ .findAll { !it.endsWith("sources.jar") }
+ .collect { " lib/${it} " }
+ f << "my_robolectric_runtime_deps := \\\n" << jars.join("\\\n") << "\n"
+ }
+}
diff --git a/common/robolectric/4.5.1/PREBUILT/download-libs.sh b/common/robolectric/4.5.1/PREBUILT/download-libs.sh
new file mode 100755
index 0000000..9853825
--- /dev/null
+++ b/common/robolectric/4.5.1/PREBUILT/download-libs.sh
@@ -0,0 +1,78 @@
+#! /bin/bash
+
+set -e
+
+printusage() {
+ echo "Usage: ./download-libs.sh <robolectric-version> " >&2
+ echo " -f <old-directory-to-copy-from>" >&2
+ exit 1
+}
+
+oldVersion=""
+roboVersion="$1"
+shift
+
+while getopts "f:h" opt; do
+ case "$opt" in
+ f)
+ oldVersion="$OPTARG"
+ ;;
+ h)
+ printusage
+ ;;
+ esac
+done
+
+if [[ -z $roboVersion ]] || [[ -z $oldVersion ]]; then
+ printusage
+fi
+
+mkdir -p ../"$roboVersion"/PREBUILT
+# Copy the scripts into the versioned directory for record
+cp download-libs.sh ../"$roboVersion"/PREBUILT/download-libs.sh
+cp download-libs.gradle ../"$roboVersion"/PREBUILT/download-libs.gradle
+
+cd ../"$roboVersion"
+gradle -b PREBUILT/download-libs.gradle \
+ -ProbolectricVersion="$roboVersion" \
+ -PshadowsVersion="$roboVersion" \
+ -PbuildDir="`pwd`"
+
+COPY_FROM_OLD_VERSION=(
+ "java-timeout"
+ "list_failed.sh"
+ "report-internal.mk"
+ "robotest-internal.mk"
+ "robotest.sh"
+ "run_robotests.mk"
+ "wrapper.sh"
+ "wrapper_test.sh"
+)
+
+for file in "${COPY_FROM_OLD_VERSION[@]}"; do
+ cp -n ../"$oldVersion"/$file ./$file
+done
+
+cat <<EOF > Android.bp
+java_import {
+ name: "platform-robolectric-${roboVersion}-prebuilt",
+ sdk_version: "current",
+ jars: [
+ "lib/annotations-${roboVersion}.jar",
+ "lib/asm-6.0.jar",
+ "lib/junit-${roboVersion}.jar",
+ "lib/resources-${roboVersion}.jar",
+ "lib/sandbox-${roboVersion}.jar",
+ "lib/shadowapi-${roboVersion}.jar",
+ "lib/shadows-framework-${roboVersion}.jar",
+ "lib/shadows-httpclient-${roboVersion}.jar",
+ "lib/shadows-multidex-${roboVersion}.jar",
+ "lib/shadows-supportv4-${roboVersion}.jar",
+ "lib/robolectric-${roboVersion}.jar",
+ "lib/utils-${roboVersion}.jar",
+ ],
+}
+
+EOF
+
+set +e
diff --git a/common/robolectric/4.5.1/classpath_jars.mk b/common/robolectric/4.5.1/classpath_jars.mk
new file mode 100644
index 0000000..25c9ed0
--- /dev/null
+++ b/common/robolectric/4.5.1/classpath_jars.mk
@@ -0,0 +1,41 @@
+my_robolectric_runtime_deps := \
+ lib/animal-sniffer-annotations-1.17.jar \
+ lib/annotation-1.1.0.jar \
+ lib/annotations-4.5.1.jar \
+ lib/asm-9.0.jar \
+ lib/asm-analysis-9.0.jar \
+ lib/asm-commons-9.0.jar \
+ lib/asm-tree-9.0.jar \
+ lib/asm-util-9.0.jar \
+ lib/auto-value-annotations-1.6.2.jar \
+ lib/bcprov-jdk15on-1.65.jar \
+ lib/checker-qual-2.5.2.jar \
+ lib/commons-codec-1.3.jar \
+ lib/commons-logging-1.1.1.jar \
+ lib/error_prone_annotations-2.2.0.jar \
+ lib/failureaccess-1.0.1.jar \
+ lib/guava-27.0.1-jre.jar \
+ lib/httpclient-4.0.3.jar \
+ lib/httpcore-4.0.1.jar \
+ lib/icu4j-53.1.jar \
+ lib/j2objc-annotations-1.1.jar \
+ lib/javax.annotation-api-1.3.2.jar \
+ lib/javax.inject-1.jar \
+ lib/jsr305-3.0.2.jar \
+ lib/junit-4.5.1.jar \
+ lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar \
+ lib/monitor-1.3.0-rc03.aar \
+ lib/pluginapi-4.5.1.jar \
+ lib/plugins-maven-dependency-resolver-4.5.1.jar \
+ lib/resources-4.5.1.jar \
+ lib/robolectric-4.5.1.jar \
+ lib/sandbox-4.5.1.jar \
+ lib/shadowapi-4.5.1.jar \
+ lib/shadows-framework-4.5.1.jar \
+ lib/shadows-httpclient-4.5.1.jar \
+ lib/shadows-multidex-4.5.1.jar \
+ lib/shadows-playservices-4.5.1.jar \
+ lib/shadows-supportv4-4.5.1.jar \
+ lib/sqlite4java-1.0.392.jar \
+ lib/utils-4.5.1.jar \
+ lib/utils-reflector-4.5.1.jar
diff --git a/common/robolectric/4.5.1/java-timeout b/common/robolectric/4.5.1/java-timeout
new file mode 100755
index 0000000..921fc80
--- /dev/null
+++ b/common/robolectric/4.5.1/java-timeout
@@ -0,0 +1,94 @@
+#!/bin/bash
+#
+# Script for running java with a timeout.
+#
+# The timeout in seconds must be the first argument. The rest of the arguments
+# are passed to the java binary itself.
+#
+# For example:
+# java-timeout 120 -cp classes.jar org.junit.runner.JUnitCore
+# runs:
+# java -cp classes.jar org.junit.runner.JUnitCore
+# with a timeout of 2 minutes.
+
+set -euo pipefail
+
+# Prints a message and terminates the process.
+function fatal() {
+ echo "FATAL: $*"
+ exit 113
+}
+
+# Function that is invoked if java is terminated due to timeout.
+# It take the process ID of the java command as an argument if it has already
+# been started, or the empty string if not. It should very rarely receive the
+# empty string as the pid, but it is possible.
+function on_timeout() {
+ echo 'FATAL: command timed out'
+
+ local pid="${1-}"
+ shift || fatal '[on_timeout] missing argument: pid'
+ test $# = 0 || fatal '[on_timeout] too many arguments'
+
+ if [ "$pid" != '' ]; then
+ # It is possible that the process already terminated, but there is not much
+ # we can do about that.
+ kill -TERM -- "-$pid" # Kill the entire process group.
+ fi
+}
+
+# Executes java with the given argument, waiting for a termination signal from
+# runalarm which this script is running under. The arguments are passed to the
+# java binary itself.
+function execute() {
+ # Trap SIGTERM, which is what we will receive if runalarm interrupts us.
+ local pid # Set below after we run the process.
+ trap 'on_timeout $pid' SIGTERM
+ # Starts java within a new process group and saves it process ID before
+ # blocking waiting for it to complete. 'setsid' starts the process within a
+ # new process group, which means that it will not be killed when this shell
+ # command is killed. This is needed so that the signal handler in the trap
+ # command above to be invoked before the java command is terminated (and will
+ # in fact have to terminate it itself).
+ setsid -w java "$@" & pid="$!"; wait "$pid"
+}
+
+# Runs java with a timeout. The first argument is either the timeout in seconds
+# or the string 'execute', which is used internally to execute the command under
+# runalarm.
+function main() {
+ local timeout_secs="${1-}"
+ shift || fatal '[main]: missing argument: timeout_secs'
+ # The reset of the arguments are meant for the java binary itself.
+
+ if [[ $timeout_secs = '0' ]]; then
+ # Run without any timeout.
+ java "$@"
+ elif [[ $timeout_secs = 'execute' ]]; then
+ # This means we actually have to execute the command.
+ execute "$@"
+ elif (( timeout_secs < 30 )); then
+ # We want to have a timeout of at least 30 seconds, so that we are
+ # guaranteed to be able to start the java command in the subshell. This also
+ # catches non-numeric arguments.
+ fatal 'Must specify a timeout of at least 30 seconds.'
+ else
+ # Wrap the command with the standard timeout(1) if available.
+ # "runalarm" is a Google timeout clone, and Mac users who've installed
+ # GNU coreutils have timeout available as "gtimeout".
+ if type timeout > /dev/null 2>&1 ; then
+ timeout "${timeout_secs}" "$0" 'execute' "$@"
+ elif type runalarm > /dev/null 2>&1 ; then
+ runalarm -t "$timeout_secs" "$0" 'execute' "$@"
+ elif type gtimeout > /dev/null 2>&1 ; then
+ gtimeout "${timeout_secs}s" "$0" 'execute' "$@"
+ else
+ # No way to set a timeout available, just execute directly.
+ echo "Warning: unable to enforce timeout." 1>&2
+ java "$@"
+ fi
+ fi
+}
+
+
+main "$@"
diff --git a/common/robolectric/4.5.1/lib/animal-sniffer-annotations-1.17.jar b/common/robolectric/4.5.1/lib/animal-sniffer-annotations-1.17.jar
new file mode 100644
index 0000000..6ec7a60
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/animal-sniffer-annotations-1.17.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/annotation-1.1.0.jar b/common/robolectric/4.5.1/lib/annotation-1.1.0.jar
new file mode 100644
index 0000000..0669512
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/annotation-1.1.0.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/annotations-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/annotations-4.5.1-sources.jar
new file mode 100644
index 0000000..166af45c
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/annotations-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/annotations-4.5.1.jar b/common/robolectric/4.5.1/lib/annotations-4.5.1.jar
new file mode 100644
index 0000000..f6feee6
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/annotations-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/asm-9.0.jar b/common/robolectric/4.5.1/lib/asm-9.0.jar
new file mode 100644
index 0000000..a0f619d
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/asm-9.0.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/asm-analysis-9.0.jar b/common/robolectric/4.5.1/lib/asm-analysis-9.0.jar
new file mode 100644
index 0000000..a21aefa
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/asm-analysis-9.0.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/asm-commons-9.0.jar b/common/robolectric/4.5.1/lib/asm-commons-9.0.jar
new file mode 100644
index 0000000..398cf49
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/asm-commons-9.0.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/asm-tree-9.0.jar b/common/robolectric/4.5.1/lib/asm-tree-9.0.jar
new file mode 100644
index 0000000..6707423
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/asm-tree-9.0.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/asm-util-9.0.jar b/common/robolectric/4.5.1/lib/asm-util-9.0.jar
new file mode 100644
index 0000000..d5ee891
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/asm-util-9.0.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/auto-value-annotations-1.6.2.jar b/common/robolectric/4.5.1/lib/auto-value-annotations-1.6.2.jar
new file mode 100644
index 0000000..5f773d8
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/auto-value-annotations-1.6.2.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/bcprov-jdk15on-1.65.jar b/common/robolectric/4.5.1/lib/bcprov-jdk15on-1.65.jar
new file mode 100644
index 0000000..32a83c7
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/bcprov-jdk15on-1.65.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/checker-qual-2.5.2.jar b/common/robolectric/4.5.1/lib/checker-qual-2.5.2.jar
new file mode 100644
index 0000000..ae4e7f1
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/checker-qual-2.5.2.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/commons-codec-1.3.jar b/common/robolectric/4.5.1/lib/commons-codec-1.3.jar
new file mode 100644
index 0000000..957b675
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/commons-codec-1.3.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/commons-logging-1.1.1.jar b/common/robolectric/4.5.1/lib/commons-logging-1.1.1.jar
new file mode 100644
index 0000000..1deef14
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/commons-logging-1.1.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/error_prone_annotations-2.2.0.jar b/common/robolectric/4.5.1/lib/error_prone_annotations-2.2.0.jar
new file mode 100644
index 0000000..c8e27b5
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/error_prone_annotations-2.2.0.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/failureaccess-1.0.1.jar b/common/robolectric/4.5.1/lib/failureaccess-1.0.1.jar
new file mode 100644
index 0000000..9b56dc7
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/failureaccess-1.0.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/guava-27.0.1-jre.jar b/common/robolectric/4.5.1/lib/guava-27.0.1-jre.jar
new file mode 100644
index 0000000..f164ce7
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/guava-27.0.1-jre.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/httpclient-4.0.3.jar b/common/robolectric/4.5.1/lib/httpclient-4.0.3.jar
new file mode 100644
index 0000000..16e349a
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/httpclient-4.0.3.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/httpcore-4.0.1.jar b/common/robolectric/4.5.1/lib/httpcore-4.0.1.jar
new file mode 100644
index 0000000..4aef35e
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/httpcore-4.0.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/icu4j-53.1.jar b/common/robolectric/4.5.1/lib/icu4j-53.1.jar
new file mode 100644
index 0000000..2c3ff8b
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/icu4j-53.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/j2objc-annotations-1.1.jar b/common/robolectric/4.5.1/lib/j2objc-annotations-1.1.jar
new file mode 100644
index 0000000..4b6f127
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/j2objc-annotations-1.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/javax.annotation-api-1.3.2.jar b/common/robolectric/4.5.1/lib/javax.annotation-api-1.3.2.jar
new file mode 100644
index 0000000..a8a470a
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/javax.annotation-api-1.3.2.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/javax.inject-1.jar b/common/robolectric/4.5.1/lib/javax.inject-1.jar
new file mode 100644
index 0000000..b2a9d0b
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/javax.inject-1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/jsr305-3.0.2.jar b/common/robolectric/4.5.1/lib/jsr305-3.0.2.jar
new file mode 100644
index 0000000..59222d9
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/jsr305-3.0.2.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/junit-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/junit-4.5.1-sources.jar
new file mode 100644
index 0000000..f6fd220
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/junit-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/junit-4.5.1.jar b/common/robolectric/4.5.1/lib/junit-4.5.1.jar
new file mode 100644
index 0000000..e9a7dc4
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/junit-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar b/common/robolectric/4.5.1/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
new file mode 100644
index 0000000..45832c0
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/monitor-1.3.0-rc03.aar b/common/robolectric/4.5.1/lib/monitor-1.3.0-rc03.aar
new file mode 100644
index 0000000..69841db
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/monitor-1.3.0-rc03.aar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/pluginapi-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/pluginapi-4.5.1-sources.jar
new file mode 100644
index 0000000..75bec52
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/pluginapi-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/pluginapi-4.5.1.jar b/common/robolectric/4.5.1/lib/pluginapi-4.5.1.jar
new file mode 100644
index 0000000..39ac000
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/pluginapi-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/plugins-maven-dependency-resolver-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/plugins-maven-dependency-resolver-4.5.1-sources.jar
new file mode 100644
index 0000000..ccc2055
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/plugins-maven-dependency-resolver-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/plugins-maven-dependency-resolver-4.5.1.jar b/common/robolectric/4.5.1/lib/plugins-maven-dependency-resolver-4.5.1.jar
new file mode 100644
index 0000000..d0be72c
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/plugins-maven-dependency-resolver-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/resources-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/resources-4.5.1-sources.jar
new file mode 100644
index 0000000..6a016f3
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/resources-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/resources-4.5.1.jar b/common/robolectric/4.5.1/lib/resources-4.5.1.jar
new file mode 100644
index 0000000..28942f7
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/resources-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/robolectric-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/robolectric-4.5.1-sources.jar
new file mode 100644
index 0000000..73858a0
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/robolectric-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/robolectric-4.5.1.jar b/common/robolectric/4.5.1/lib/robolectric-4.5.1.jar
new file mode 100644
index 0000000..d8c10d4
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/robolectric-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/sandbox-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/sandbox-4.5.1-sources.jar
new file mode 100644
index 0000000..f4e66e9
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/sandbox-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/sandbox-4.5.1.jar b/common/robolectric/4.5.1/lib/sandbox-4.5.1.jar
new file mode 100644
index 0000000..202b186
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/sandbox-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/shadowapi-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/shadowapi-4.5.1-sources.jar
new file mode 100644
index 0000000..02dde74
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/shadowapi-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/shadowapi-4.5.1.jar b/common/robolectric/4.5.1/lib/shadowapi-4.5.1.jar
new file mode 100644
index 0000000..f1fc0c8
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/shadowapi-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/shadows-framework-4.5.1.jar b/common/robolectric/4.5.1/lib/shadows-framework-4.5.1.jar
new file mode 100644
index 0000000..6bb1f1a
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/shadows-framework-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/shadows-httpclient-4.5.1.jar b/common/robolectric/4.5.1/lib/shadows-httpclient-4.5.1.jar
new file mode 100644
index 0000000..b99245b
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/shadows-httpclient-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/shadows-multidex-4.5.1.jar b/common/robolectric/4.5.1/lib/shadows-multidex-4.5.1.jar
new file mode 100644
index 0000000..d15593b
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/shadows-multidex-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/shadows-playservices-4.5.1.jar b/common/robolectric/4.5.1/lib/shadows-playservices-4.5.1.jar
new file mode 100644
index 0000000..75e6e79
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/shadows-playservices-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/shadows-supportv4-4.5.1.jar b/common/robolectric/4.5.1/lib/shadows-supportv4-4.5.1.jar
new file mode 100644
index 0000000..15d6cc9
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/shadows-supportv4-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/sqlite4java-1.0.392.jar b/common/robolectric/4.5.1/lib/sqlite4java-1.0.392.jar
new file mode 100644
index 0000000..cfa8d8c
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/sqlite4java-1.0.392.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/utils-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/utils-4.5.1-sources.jar
new file mode 100644
index 0000000..0051410
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/utils-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/utils-4.5.1.jar b/common/robolectric/4.5.1/lib/utils-4.5.1.jar
new file mode 100644
index 0000000..4ff639b
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/utils-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/utils-reflector-4.5.1-sources.jar b/common/robolectric/4.5.1/lib/utils-reflector-4.5.1-sources.jar
new file mode 100644
index 0000000..407bb7d
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/utils-reflector-4.5.1-sources.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/lib/utils-reflector-4.5.1.jar b/common/robolectric/4.5.1/lib/utils-reflector-4.5.1.jar
new file mode 100644
index 0000000..79612a0
--- /dev/null
+++ b/common/robolectric/4.5.1/lib/utils-reflector-4.5.1.jar
Binary files differ
diff --git a/common/robolectric/4.5.1/list_failed.sh b/common/robolectric/4.5.1/list_failed.sh
new file mode 100755
index 0000000..1000ae1
--- /dev/null
+++ b/common/robolectric/4.5.1/list_failed.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# This script lists the tests which are failing in the output of Robolectric
+# tests.
+# TODO: Remove this script and move the functionality into a custom JUnit runner.
+
+# Matches the line specifying which test has failed and matches the test name
+# and class name as the first and second matching group, respectively.
+readonly FAILED_TEST_RE='^[1-9][0-9]*)\s\(\w\+\)(\(\(\w\|.\)\+\))$'
+
+# Fails with a message.
+function fatal() {
+ echo 1>&2 "FATAL: $@"
+ exit 113
+}
+
+function main() {
+ test $# = 0 || fatal "Too many arguments: $@"
+
+ sed -e '1,/^There \(was 1 failure\|were [0-9]* failures\):$/d' |
+ grep "$FAILED_TEST_RE" |
+ sed -e "s/$FAILED_TEST_RE/\2.\1/" ||
+ true
+}
+
+set -e
+set -o pipefail
+main "$@"
diff --git a/common/robolectric/4.5.1/report-internal.mk b/common/robolectric/4.5.1/report-internal.mk
new file mode 100644
index 0000000..4989632
--- /dev/null
+++ b/common/robolectric/4.5.1/report-internal.mk
@@ -0,0 +1,49 @@
+# Defines a target named $(my_target) for generating a coverage report.
+
+my_report_dir := $(my_coverage_dir)/reports
+my_coverage_output := $(my_report_dir)/coverage.xml
+
+# Private variables.
+$(my_coverage_output): PRIVATE_MODULE := $(LOCAL_MODULE)
+$(my_coverage_output): PRIVATE_COVERAGE_FILE := $(my_coverage_file)
+$(my_coverage_output): PRIVATE_COVERAGE_SRCS_JARS := $(my_coverage_srcs_jars)
+$(my_coverage_output): PRIVATE_INSTRUMENT_SOURCE_DIRS := $(my_instrument_source_dirs)
+$(my_coverage_output): PRIVATE_COVERAGE_REPORT_CLASS := $(my_coverage_report_class)
+$(my_coverage_output): PRIVATE_COVERAGE_REPORT_JAR := $(my_coverage_report_jar)
+$(my_coverage_output): PRIVATE_REPORT_DIR := $(my_report_dir)
+
+# Generate the coverage report.
+$(my_coverage_output): $(my_collect_file) $(my_coverage_report_jar)
+ $(hide) rm -rf $(PRIVATE_REPORT_DIR)
+ $(hide) mkdir -p $(PRIVATE_REPORT_DIR)
+ $(hide) $(JAVA) \
+ -cp $(PRIVATE_COVERAGE_REPORT_JAR) \
+ $(PRIVATE_COVERAGE_REPORT_CLASS) \
+ -classpath $(strip $(call normalize-path-list, $(PRIVATE_COVERAGE_SRCS_JARS))) \
+ --exec-file $(PRIVATE_COVERAGE_FILE) \
+ --name $(PRIVATE_MODULE) \
+ --report-dir $(PRIVATE_REPORT_DIR)/ \
+ --srcs $(strip $(call normalize-path-list, $(PRIVATE_INSTRUMENT_SOURCE_DIRS))) \
+ >$(PRIVATE_REPORT_DIR)/reporter.txt 2>&1
+ @echo "Coverage report: file://"$(realpath $(PRIVATE_REPORT_DIR))"/index.html"
+
+
+# Generate a ZIP file of the coverage report.
+my_coverage_output_zip := $(my_coverage_dir)/report-html.zip
+
+$(my_coverage_output_zip): PRIVATE_REPORT_DIR := $(my_report_dir)
+$(my_coverage_output_zip): $(my_coverage_output)
+ $(hide) cd $(PRIVATE_REPORT_DIR) && zip --quiet -r $(PWD)/$@ .
+
+# Add coverage report zip to dist files.
+$(call dist-for-goals, $(my_report_target), \
+ $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
+ $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
+
+# Running the coverage will always generate the report.
+$(my_target): $(my_coverage_output)
+
+# Reset local variables.
+my_coverage_output :=
+my_coverage_output_zip :=
+my_report_dir :=
diff --git a/common/robolectric/4.5.1/robotest-internal.mk b/common/robolectric/4.5.1/robotest-internal.mk
new file mode 100644
index 0000000..f8e4470
--- /dev/null
+++ b/common/robolectric/4.5.1/robotest-internal.mk
@@ -0,0 +1,97 @@
+# Defines a target named $(my_target) for running robolectric tests.
+
+# Running the tests is done in two stages: we first generate the test output to
+# $(my_target_output), which is also added to the dist list, and store the
+# return value of running the tests in $(my_target_retval). After that we
+# process the output and return value as part of $(my_target). This is needed
+# to make sure that we can install the test output even if the tests actually
+# fail.
+
+# Files in which to store the output and return value of the tests.
+my_target_xml := $(intermediates)/$(my_filename_stem)-output.xml
+my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
+my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
+
+# We should always re-run the tests, even if nothing has changed.
+# So until the build system has a dedicated "no cache" option, claim
+# to write a file that is never produced.
+my_target_nocache := $(intermediates)/$(my_filename_stem)-nocache
+
+# Private variables.
+$(my_target_output): PRIVATE_MODULE := $(LOCAL_MODULE)
+$(my_target_output): PRIVATE_TESTS := $(my_tests)
+$(my_target_output): PRIVATE_JARS := $(my_jars)
+$(my_target_output): PRIVATE_JAVA_ARGS := $(my_java_args)
+$(my_target_output): PRIVATE_ROBOLECTRIC_PATH := $(my_robolectric_path)
+$(my_target_output): PRIVATE_ROBOLECTRIC_SCRIPT_PATH := $(my_robolectric_script_path)
+$(my_target_output): PRIVATE_TARGET_MESSAGE := $(my_target_message)
+$(my_target_output): PRIVATE_TARGET_OUTPUT := $(my_target_output)
+$(my_target_output): PRIVATE_TARGET_RETVAL := $(my_target_retval)
+$(my_target_output): PRIVATE_TARGET_NOCACHE := $(my_target_nocache)
+$(my_target_output): PRIVATE_TIMEOUT := $(my_timeout)
+# Pin java binary to 8 or 9, the highest robolectric 3.6.1 and ASM 6.0 support:
+$(my_target_output): PRIVATE_JAVA_PATH := $(if $(my_use_java8),$(ANDROID_JAVA8_HOME)/bin:,$(ANDROID_JAVA9_HOME)/bin:)
+$(my_target_output): PRIVATE_XML_OUTPUT_FILE := $(my_target_xml)
+$(my_target_output): .KATI_IMPLICIT_OUTPUTS := $(my_target_xml) $(my_target_retval) $(my_target_nocache)
+# Runs the Robolectric tests and saves the output and return value.
+$(my_target_output): $(my_jars)
+ @echo "host Robolectric: $(PRIVATE_MODULE)"
+ # Run `touch` to always create the output XML file, so the build doesn't break even if the
+ # runner failed to create the XML output
+ $(hide) touch "$(PRIVATE_XML_OUTPUT_FILE)"
+ $(hide) rm -f "$(PRIVATE_TARGET_NOCACHE)"
+ $(hide) \
+ PRIVATE_INTERMEDIATES="$(dir $@)" \
+ PRIVATE_JARS="$(PRIVATE_JARS)" \
+ PRIVATE_JAVA_ARGS="$(PRIVATE_JAVA_ARGS)" \
+ PRIVATE_ROBOLECTRIC_PATH="$(PRIVATE_ROBOLECTRIC_PATH)" \
+ PRIVATE_ROBOLECTRIC_SCRIPT_PATH="$(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)" \
+ PRIVATE_RUN_INDIVIDUALLY="$(ROBOTEST_RUN_INDIVIDUALLY)" \
+ PRIVATE_TARGET_MESSAGE="$(PRIVATE_TARGET_MESSAGE)" \
+ PRIVATE_TIMEOUT="$(PRIVATE_TIMEOUT)" \
+ PRIVATE_TESTS="$(PRIVATE_TESTS)" \
+ XML_OUTPUT_FILE="$(PRIVATE_XML_OUTPUT_FILE)" \
+ TEST_WORKSPACE="$(PRIVATE_MODULE)" \
+ PATH=$(PRIVATE_JAVA_PATH)$${PATH} \
+ $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/wrapper.sh \
+ "$(PRIVATE_MODULE)" \
+ "$(PRIVATE_TARGET_OUTPUT)" \
+ "$(PRIVATE_TARGET_RETVAL)" \
+ wrap \
+ $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/robotest.sh
+
+# Private variables.
+$(my_target): PRIVATE_MODULE := $(LOCAL_MODULE)
+$(my_target): PRIVATE_TARGET_OUTPUT := $(my_target_output)
+$(my_target): PRIVATE_TARGET_RETVAL := $(my_target_retval)
+$(my_target): PRIVATE_FAILURE_FATAL := $(my_failure_fatal)
+$(my_target): PRIVATE_ROBOLECTRIC_SCRIPT_PATH := $(my_robolectric_script_path)
+# Process the output and the return value of the tests. This will fail if the
+# return value is non-zero.
+$(my_target): $(my_target_output) $(my_target_xml)
+ $(hide) \
+ result=0; \
+ $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/wrapper.sh \
+ "$(PRIVATE_MODULE)" \
+ "$(PRIVATE_TARGET_OUTPUT)" \
+ "$(PRIVATE_TARGET_RETVAL)" \
+ eval \
+ || result=$$?; \
+ if [ "$(strip $(PRIVATE_FAILURE_FATAL))" = true ]; then \
+ exit "$$result"; \
+ fi
+ $(hide) touch $@
+
+# Add the output of the tests to the dist list, so that we will include it even
+# if the tests fail.
+$(call dist-for-goals, $(my_phony_target), \
+ $(my_target_output):robotests/$(LOCAL_MODULE)-$(notdir $(my_target_output)) \
+ $(my_target_xml):robotests/$(LOCAL_MODULE)-$(notdir $(my_target_xml)))
+
+# Clean up local variables.
+my_target_output :=
+my_target_retval :=
+my_target_xml :=
+my_target_nocache :=
+my_filename_stem :=
+my_use_java8 :=
diff --git a/common/robolectric/4.5.1/robotest.sh b/common/robolectric/4.5.1/robotest.sh
new file mode 100755
index 0000000..160b533
--- /dev/null
+++ b/common/robolectric/4.5.1/robotest.sh
@@ -0,0 +1,122 @@
+#!/bin/bash
+#
+# Runs robolectric tests.
+
+set -euo pipefail
+
+# Terminate with a fatal error.
+function fatal() {
+ echo "Fatal: $*"
+ exit 113
+}
+
+# Ensures that the given variable is set.
+function validate_var() {
+ local name="$1"; shift || fatal "Missing argument: name"
+ test $# = 0 || fatal "Too many arguments"
+
+ eval [[ -n \${${name}+dummy} ]] || {
+ echo "Variable not set: $name";
+ return 1;
+ }
+}
+
+# Ensures that all the required variables are set.
+function validate_vars() {
+ test $# = 0 || fatal "Too many arguments"
+
+ validate_var 'PRIVATE_INTERMEDIATES'
+ validate_var 'PRIVATE_JARS'
+ validate_var 'PRIVATE_JAVA_ARGS'
+ validate_var 'PRIVATE_ROBOLECTRIC_PATH'
+ validate_var 'PRIVATE_ROBOLECTRIC_SCRIPT_PATH'
+ validate_var 'PRIVATE_RUN_INDIVIDUALLY'
+ validate_var 'PRIVATE_TARGET_MESSAGE'
+ validate_var 'PRIVATE_TESTS'
+ validate_var 'PRIVATE_TIMEOUT'
+
+ validate_var 'XML_OUTPUT_FILE'
+ validate_var 'TEST_WORKSPACE'
+}
+
+# Remove leading and trailing spaces around the given argument.
+function strip() {
+ local value="$1"; shift || fatal "Missing argument: value"
+ test $# = 0 || fatal "Too many arguments"
+
+ echo "$value" | sed -e 's/^ *//' -e 's/ *$//'
+}
+
+# Normalizes a list of paths and turns it into a colon-separated list.
+function normalize-path-list() {
+ echo "$@" | sed -e 's/^ *//' -e 's/ *$//' -e 's/ */ /g' -e 's/ /:/g'
+}
+
+function junit() {
+ # This adds the lib folder to the cp.
+ local classpath="$(strip "$(normalize-path-list "${PRIVATE_JARS}")")"
+ local command=(
+ "${PRIVATE_ROBOLECTRIC_SCRIPT_PATH}/java-timeout"
+ "${PRIVATE_TIMEOUT}"
+ ${PRIVATE_JAVA_ARGS}
+ -Drobolectric.dependency.dir="${PRIVATE_ROBOLECTRIC_PATH}"
+ -Drobolectric.offline=true
+ -Drobolectric.logging=stdout
+ -cp "$classpath"
+ com.android.junitxml.JUnitXmlRunner
+ )
+ echo "${command[@]}" "$@"
+ "${command[@]}" "$@"
+}
+
+function runtests() {
+ local tests="$1"; shift || fatal "Missing argument: tests"
+ test $# = 0 || fatal "Too many arguments"
+
+ if [[ "$(strip "${PRIVATE_RUN_INDIVIDUALLY}")" = 'true' ]]; then
+ local result=0
+ for test in ${tests}; do
+ echo "-------------------------------------------------------------------"
+ echo "Running $test:"
+ junit "${test}"
+ done
+ return "$result"
+ else
+ echo "-------------------------------------------------------------------"
+ echo "Running $tests:"
+ junit $tests # Contains a space-separated list of tests.
+ fi
+}
+
+# Run the robolectric tests
+function run() {
+ test $# = 0 || fatal "Too many arguments"
+
+ [ "${PRIVATE_TARGET_MESSAGE}" == '' ] || echo "${PRIVATE_TARGET_MESSAGE}"
+ local tests="${PRIVATE_TESTS}"
+ if [ "$tests" = '' ]; then
+ # Somehow there are no tests to run. Assume this is failure.
+ echo "No tests to run."
+ exit 1
+ fi
+ local output="${PRIVATE_INTERMEDIATES}/output.out"
+ local failed="${PRIVATE_INTERMEDIATES}/failed.out"
+ local result=0
+ runtests "${tests}" >"$output" 2>&1 || result="$?"
+ echo "$output"
+ cat "$output"
+ if [ "$result" = 0 ]; then
+ return "$result"
+ fi
+ "${PRIVATE_ROBOLECTRIC_SCRIPT_PATH}/list_failed.sh" <"$output" >"$failed"
+ return "$result"
+}
+
+function main() {
+ test $# = 0 || fatal "Too many arguments"
+
+ validate_vars
+ run
+}
+
+main "$@"
diff --git a/common/robolectric/4.5.1/run_robotests.mk b/common/robolectric/4.5.1/run_robotests.mk
new file mode 100644
index 0000000..0001ea1
--- /dev/null
+++ b/common/robolectric/4.5.1/run_robotests.mk
@@ -0,0 +1,231 @@
+# Rules for running robolectric tests.
+#
+# Uses the following variables:
+#
+# LOCAL_JAVA_LIBRARIES
+# LOCAL_STATIC_JAVA_LIBRARIES
+# LOCAL_ROBOTEST_FAILURE_FATAL
+# LOCAL_ROBOTEST_TIMEOUT
+# LOCAL_TEST_PACKAGE
+# LOCAL_ROBOTEST_FILES
+# ROBOTEST_FAILURE_FATAL
+# ROBOTEST_FILTER
+# ROBOTEST_RUN_INDIVIDUALLY
+#
+#
+# If ROBOTEST_FAILURE_FATAL is set to true then failing tests will cause a
+# build failure. Otherwise failures will be logged but ignored by make.
+#
+# If ROBOTEST_FILTER is set to a regex then only tests matching that pattern
+# will be run. This currently only works at the class level.
+#
+# TODO: Switch to a JUnit runner which can support method-level test
+# filtering and use that rather than grep to implement ROBOTEST_FILTER.
+#
+# If ROBOTEST_RUN_INDIVIDUALLY is set to true, each test class will be run by a
+# different JVM, preventing any interaction between different tests. This is
+# significantly slower than running all tests within the same JVM, but prevents
+# unwanted interactions.
+#
+# Tests classes are found by looking for *Test.java files in
+# LOCAL_PATH recursively.
+
+################################################
+# General settings, independent of the module. #
+################################################
+
+### Used for running tests.
+
+# Where to find Robolectric.
+my_robolectric_script_path := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
+# Explicitly define the jars and their classpath ordering.
+include $(my_robolectric_script_path)/classpath_jars.mk
+my_robolectric_jars := \
+ $(addprefix $(my_robolectric_script_path)/,$(my_robolectric_runtime_deps)) \
+ $(call java-lib-files,junit)
+
+my_collect_target := $(LOCAL_MODULE)-coverage
+my_report_target := $(LOCAL_MODULE)-jacoco
+.PHONY: $(my_collect_target) $(my_report_target)
+# Whether or not to ignore the result of running the robotests.
+# LOCAL_ROBOTEST_FAILURE_FATAL will take precedence over ROBOTEST_FAILURE_FATAL,
+# if present.
+my_failure_fatal := $(if $(LOCAL_ROBOTEST_FAILURE_FATAL)$(ROBOTEST_FAILURE_FATAL),true,false)
+# The timeout for the command. A value of '0' means no timeout. The default is
+# 10 minutes.
+my_timeout := $(if $(LOCAL_ROBOTEST_TIMEOUT),$(LOCAL_ROBOTEST_TIMEOUT),600)
+# Command to filter the list of test classes.
+# If not specified, defaults to including all the tests.
+my_test_filter_command := $(if $(ROBOTEST_FILTER),grep -E "$(ROBOTEST_FILTER)",cat)
+
+# The directory containing the sources.
+my_instrument_makefile_dir := $(dir $(ALL_MODULES.$(LOCAL_TEST_PACKAGE).MAKEFILE))
+my_instrument_source_dirs := $(if $(LOCAL_INSTRUMENT_SOURCE_DIRS),\
+ $(LOCAL_INSTRUMENT_SOURCE_DIRS),\
+ $(my_instrument_makefile_dir)src $(my_instrument_makefile_dir)java)
+
+##########################
+# Used by base_rules.mk. #
+##########################
+
+LOCAL_MODULE_CLASS := ROBOLECTRIC
+# This is actually a phony target that is never built.
+LOCAL_BUILT_MODULE_STEM := test.fake
+# Since it is not built, it cannot be installed. But we will define our own
+# dist files, depending on which of the specific targets is invoked.
+LOCAL_UNINSTALLABLE_MODULE := true
+# Do not build it for checkbuild or mma
+LOCAL_DONT_CHECK_MODULE := true
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+
+#############################
+# Module specific settings. #
+#############################
+
+### Used for running tests.
+
+# The list of test classes. Robolectric requires an explicit list of tests to
+# run, which is compiled from the Java files ending in "Test" within the
+# directory from which this module is invoked.
+ifeq ($(strip $(LOCAL_ROBOTEST_FILES)),)
+ LOCAL_ROBOTEST_FILES := $(call find-files-in-subdirs,$(LOCAL_PATH)/src,*Test.java,.)
+endif
+# Convert the paths into package names by removing .java extension and replacing "/" with "."
+my_tests := $(subst /,.,$(basename $(LOCAL_ROBOTEST_FILES)))
+my_tests := $(sort $(shell echo '$(my_tests)' | tr ' ' '\n' | $(my_test_filter_command)))
+# The source jars containing the tests.
+my_srcs_jars := \
+ $(foreach lib, \
+ $(LOCAL_JAVA_LIBRARIES) $(LOCAL_STATIC_JAVA_LIBRARIES), \
+ $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/classes-pre-proguard.jar) \
+ $(foreach lib, \
+ $(LOCAL_TEST_PACKAGE), \
+ $(call intermediates-dir-for,APPS,$(lib),,COMMON)/classes-pre-proguard.jar)
+# The jars needed to run the tests.
+my_jars := \
+ $(my_robolectric_jars) \
+ $(call resolve-prebuilt-sdk-jar-path,$(if $(LOCAL_SDK_VERSION),$(LOCAL_SDK_VERSION),current)) \
+ $(call java-lib-files,junitxml) \
+ $(my_srcs_jars)
+
+
+
+# Run tests.
+my_phony_target := $(LOCAL_MODULE)
+my_target := $(LOCAL_BUILT_MODULE)
+my_filename_stem := test
+
+android_all_lib_path := $(my_robolectric_script_path)/../android-all
+my_robolectric_path := $(intermediates.COMMON)/android-all
+android_all_jars := $(call find-files-in-subdirs,$(android_all_lib_path),*.jar,.)
+copy_android_all_jars := $(foreach j,$(android_all_jars),\
+ $(android_all_lib_path)/$(j):$(my_robolectric_path)/$(j))
+$(my_robolectric_path): $(call copy-many-files,$(copy_android_all_jars))
+$(my_target): $(my_robolectric_path)
+
+# Setting the DEBUG_ROBOLECTRIC environment variable will print additional logging from
+# Robolectric and also make it wait for a debugger to be connected.
+# For Android Studio / IntelliJ the debugger can be connected via the "remote" configuration:
+# https://www.jetbrains.com/help/idea/2016.2/run-debug-configuration-remote.html
+# From command line the debugger can be connected via
+# jdb -attach localhost:5005
+ifdef DEBUG_ROBOLECTRIC
+ # The arguments to the JVM needed to debug the tests.
+ # - server: wait for connection rather than connecting to a debugger
+ # - transport: how to accept debugger connections (sockets)
+ # - address: the port on which to accept debugger connections
+ # - timeout: how long (in ms) to wait for a debugger to connect
+ # - suspend: do not start running any code until the debugger connects
+ my_java_args := \
+ -Drobolectric.logging.enabled=true \
+ -Xdebug -agentlib:jdwp=server=y,transport=dt_socket,address=localhost:5005,suspend=y
+
+ # Remove the timeout so Robolectric doesn't get killed while debugging
+ my_timeout := 0
+endif
+
+include $(my_robolectric_script_path)/robotest-internal.mk
+# clean local variables
+my_java_args :=
+my_phony_target :=
+my_target :=
+
+# Target for running robolectric tests using jacoco
+my_phony_target := $(my_report_target)
+my_target := $(LOCAL_BUILT_MODULE)-coverage
+my_collect_file := $(my_target)
+my_filename_stem := coverage
+$(my_collect_target): $(my_target)
+$(my_target): $(call java-lib-files,jvm-jacoco-agent,true) $(my_robolectric_path)
+
+my_coverage_dir := $(intermediates)/coverage
+my_coverage_file := $(my_coverage_dir)/jacoco.exec
+
+# List of packages to exclude jacoco from running
+my_jacoco_excludes := \
+ org.robolectric.* \
+ org.mockito.* \
+ org.junit.* \
+ org.objectweb.* \
+ com.thoughtworks.xstream.*
+# The Jacoco agent JAR.
+my_jacoco_agent_jar := $(call java-lib-files,jvm-jacoco-agent,true)
+# Using Jacoco with Robolectric is broken in 0.7.3 <= version < 0.7.6.
+# In 0.7.6 or above, the parameter "inclnolocationclasses" is needed.
+# See https://github.com/jacoco/jacoco/pull/288 for more
+# In JDK9, if "inclnolocationclasses" is used, we also need to specify
+# exclclassloader=jdk.internal.reflect.DelegatingClassLoader
+# https://github.com/jacoco/jacoco/issues/16
+my_jacoco_agent_args = \
+ destfile=$(my_coverage_file) \
+ excludes=$(call normalize-path-list, $(my_jacoco_excludes)) \
+ inclnolocationclasses=true \
+ exclclassloader=jdk.internal.reflect.DelegatingClassLoader \
+ append=false
+my_java_args := \
+ -javaagent:$(my_jacoco_agent_jar)=$(call normalize-comma-list, $(my_jacoco_agent_args))
+include $(my_robolectric_script_path)/robotest-internal.mk
+# Clear temporary variables
+my_failure_fatal :=
+my_jacoco_agent_jar :=
+my_jacoco_agent_args :=
+my_jacoco_excludes :=
+my_java_args :=
+my_phony_target :=
+my_robolectric_jars :=
+my_target :=
+my_tests :=
+my_filename_stem :=
+
+# Target for generating code coverage reports using jacoco.exec
+my_target := $(LOCAL_BUILT_MODULE)-jacoco
+$(my_report_target): $(my_target)
+
+# The JAR file containing the report generation tool.
+my_coverage_report_class := com.google.android.jacoco.reporter.ReportGenerator
+my_coverage_report_jar := $(call java-lib-files,jvm-jacoco-reporter,true)
+my_coverage_srcs_jars := $(my_srcs_jars)
+my_coverage_report_dist_file := $(my_report_target)-html.zip
+
+## jacoco code coverage reports
+include $(my_robolectric_script_path)/report-internal.mk
+# Clear temporary variables
+my_coverage_dir :=
+my_coverage_file :=
+my_coverage_report_class :=
+my_coverage_report_dist_file :=
+my_coverage_report_jar :=
+my_coverage_srcs_jars :=
+my_robolectric_script_path :=
+my_robolectric_path :=
+my_srcs_jars :=
+my_target :=
+my_collect_file :=
+
+# Clear local variables specific to this build.
+LOCAL_ROBOTEST_FAILURE_FATAL :=
+LOCAL_ROBOTEST_TIMEOUT :=
+LOCAL_ROBOTEST_FILES :=
+LOCAL_INSTRUMENT_SOURCE_DIRS :=
diff --git a/common/robolectric/4.5.1/wrapper.sh b/common/robolectric/4.5.1/wrapper.sh
new file mode 100755
index 0000000..8d74246
--- /dev/null
+++ b/common/robolectric/4.5.1/wrapper.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# A simple script to wrap the execution of a command so that it stores its
+# output and return value into a file and then process it to later on.
+#
+# This is meant to be used in a makefile, specifically to allow for the output
+# of a command to be stored in a file and added to the dist list, even if the
+# command actually failed.
+#
+# For example, your makefile might include:
+#
+# my_target := lint
+# my_target_output := $(OUT_DIR)/lint-output.txt
+# my_target_retval := $(OUT_DIR)/lint-retval.txt
+#
+# $(my_target_output) $(my_target_retval): PRIVATE_MODULE := $(my_target)
+# $(my_target_output) $(my_target_retval): PRIVATE_OUTPUT := $(my_target_output)
+# $(my_target_output) $(my_target_retval): PRIVATE_RETVAL := $(my_target_retval)
+# $(my_target_output) $(my_target_retval):
+# $(PATH)/wrapper.sh \
+# $(PRIVATE_MODULE) \
+# $(PRIVATE_OUTPUT) \
+# $(PRIVATE_RETVAL) \
+# wrap \
+# $(PATH)/run-list.sh $(LOCAL_PATH)/src
+#
+# $(my_target): PRIVATE_MODULE := $(my_target)
+# $(my_target): PRIVATE_OUTPUT := $(my_target_output)
+# $(my_target): PRIVATE_RETVAL := $(my_target_retval)
+# $(my_target): $(my_target_output) $(my_target_retval)
+# $(PATH)/wrapper.sh \
+# $(PRIVATE_MODULE) \
+# $(PRIVATE_OUTPUT) \
+# $(PRIVATE_RETVAL) \
+# eval
+
+set -euo pipefail
+
+# Terminate with a fatal error.
+function fatal() {
+ echo "Fatal: $*"
+ exit 113
+}
+
+function main() {
+ local module="${1-}"; shift || fatal "missing argument: module"
+ local output="${1-}"; shift || fatal "missing argument: output"
+ local retval="${1-}"; shift || fatal "missing argument: retval"
+ local action="${1-}"; shift || fatal "missing argument: action"
+ # The rest of the arguments are the command to run.
+
+ if [ "$action" = 'wrap' ]; then
+ # Run the command specified by the rest of arguments ("$@") and save output
+ # and return value.
+ echo 0 >"${retval}"
+ "$@" >"${output}" 2>&1 || echo "$?" >"${retval}"
+
+ # Wrapping itself is always successful.
+ return
+ elif [ "$action" = 'eval' ]; then
+ local result="$(cat "${retval}")"
+ if [ "$result" = 0 ]; then
+ # If successful only print the last few lines.
+ tail -n 5 "$output" | sed -e "s/^/${module}: /"
+ else
+ # Print the entire output on failure.
+ cat "$output" | sed -e "s/^/${module}: /"
+ fi
+ # Evaluating returns the stored return value.
+ return "$result"
+ else
+ fatal "invalid action: $action"
+ fi
+}
+
+main "$@"
diff --git a/common/robolectric/4.5.1/wrapper_test.sh b/common/robolectric/4.5.1/wrapper_test.sh
new file mode 100755
index 0000000..42a04c5
--- /dev/null
+++ b/common/robolectric/4.5.1/wrapper_test.sh
@@ -0,0 +1,172 @@
+#!/bin/bash
+#
+# Tests for wrapper.sh.
+
+set -euo pipefail
+
+# The location of the script under test.
+readonly WRAPPER="$(realpath "$(dirname "$0")/wrapper.sh")"
+# The name of the tests to run. Each test correspond to a function in this file
+# whose name is the name of the test prefixed by 'test'.
+readonly TEST_NAMES=(
+ SuccessfulCase
+ FailedCase
+ FailedSignalCase
+)
+
+# Fails with an error message.
+function fatal() {
+ echo 1>&2 "FATAL: $@"
+ exit 113
+}
+
+function withTestFiles() {
+ (
+ echo '1'
+ echo '2'
+ echo '3'
+ echo '4'
+ echo '5'
+ echo '6'
+ echo '7'
+ ) >testfile
+ (
+ echo 'module: 1'
+ echo 'module: 2'
+ echo 'module: 3'
+ echo 'module: 4'
+ echo 'module: 5'
+ echo 'module: 6'
+ echo 'module: 7'
+ ) >testfileWithModule
+ (
+ echo 'module: 3'
+ echo 'module: 4'
+ echo 'module: 5'
+ echo 'module: 6'
+ echo 'module: 7'
+ ) >testfileWithModuleTruncated
+}
+
+function expectNoWrapOutput() {
+ if [ "$(cat output-wrap)" != '' ]; then
+ echo 'Wrap should not generate any output'
+ diff testfile output || true
+ return 1
+ fi
+}
+
+function expectSavedOutput() {
+ if ! diff testfile output; then
+ echo 'Should have saved the correct output'
+ diff testfile output || true
+ return 1
+ fi
+}
+
+function expectFullOutputWithModule() {
+ if ! diff testfileWithModule output-eval; then
+ echo 'Should have printed the full output'
+ diff testfileWithModule output || true
+ return 1
+ fi
+}
+
+function expectTruncatedOutputWithModule() {
+ if ! diff testfileWithModuleTruncated output-eval; then
+ echo 'Should have printed the truncated output'
+ diff testfileWithModuleTruncated output || true
+ return 1
+ fi
+}
+
+function whenWrap() {
+ "$WRAPPER" module "$PWD/output" "$PWD/retval" 'wrap' "$@" \
+ 2>/dev/null \
+ >output-wrap
+}
+
+function whenEval() {
+ "$WRAPPER" module "$PWD/output" "$PWD/retval" 'eval' "$@" \
+ >output-eval 2>&1
+}
+
+function testSuccessfulCase() {
+ withTestFiles
+ (
+ echo '#!/bin/bash'
+ echo
+ echo 'cat testfile'
+ ) >script.sh
+ chmod 755 script.sh
+ whenWrap "$PWD/script.sh"
+ expectNoWrapOutput
+ if ! whenEval; then
+ echo 'Should have run successfully'
+ return 1
+ fi
+ expectSavedOutput
+ expectTruncatedOutputWithModule
+}
+
+function testFailedCase() {
+ withTestFiles
+ (
+ echo '#!/bin/bash'
+ echo
+ echo 'cat testfile'
+ echo 'exit 1'
+ ) >script.sh
+ chmod 755 script.sh
+ whenWrap "$PWD/script.sh"
+ expectNoWrapOutput
+ if whenEval; then
+ echo 'Should have failed to run'
+ return 1
+ fi
+ expectSavedOutput
+ expectFullOutputWithModule
+}
+function testFailedSignalCase() {
+ withTestFiles
+ (
+ echo '#!/bin/bash'
+ echo
+ echo 'cat testfile'
+ echo 'kill -TERM $$'
+ echo 'echo Should not be printed'
+ ) >script.sh
+ chmod 755 script.sh
+ whenWrap "$PWD/script.sh"
+ expectNoWrapOutput
+ if whenEval; then
+ echo 'Should have failed to run'
+ return 1
+ fi
+ expectSavedOutput
+ expectFullOutputWithModule
+}
+
+
+function main() {
+ local result=0
+ local tmp="$(mktemp -d)"
+ for test_name in "${TEST_NAMES[@]}"; do
+ mkdir -p "$tmp/$test_name"
+ cd "$tmp/$test_name"
+ echo -n "Running $test_name..."
+ test"$test_name" >log || {
+ echo "FAILED";
+ sed -e "s/^/$test_name: /" <log
+ rm log
+ result=1;
+ continue;
+ }
+ echo "PASSED"
+ rm log
+ done
+ return "$result"
+}
+
+
+main "$@"
diff --git a/common/robolectric/android-all/android-all-11-robolectric-6757853.jar b/common/robolectric/android-all/android-all-11-robolectric-6757853.jar
new file mode 100644
index 0000000..a8ee6a9
--- /dev/null
+++ b/common/robolectric/android-all/android-all-11-robolectric-6757853.jar
Binary files differ
diff --git a/common/robolectric/android-all/android-all-R-beta2-robolectric-6625208.jar b/common/robolectric/android-all/android-all-R-beta2-robolectric-6625208.jar
new file mode 100644
index 0000000..af33e5f
--- /dev/null
+++ b/common/robolectric/android-all/android-all-R-beta2-robolectric-6625208.jar
Binary files differ
diff --git a/common/robolectric/android-all/update.gradle b/common/robolectric/android-all/update.gradle
index 3ad0ace..7e5f9ca 100644
--- a/common/robolectric/android-all/update.gradle
+++ b/common/robolectric/android-all/update.gradle
@@ -33,6 +33,7 @@
'8.1.0-robolectric-r4458339',
'9-robolectric-4913185-2',
'10-robolectric-5803371',
+ '11-robolectric-6757853',
]
def buildDir = System.getProperty("user.dir")
diff --git a/common/robolectric/update-script/download-libs.gradle b/common/robolectric/update-script/download-libs.gradle
index a01d969..52f241d 100644
--- a/common/robolectric/update-script/download-libs.gradle
+++ b/common/robolectric/update-script/download-libs.gradle
@@ -32,12 +32,6 @@
exclude group: 'org.apache.ant', module: ''
}
- compile('com.ximpleware:vtd-xml:2.11') { force = true }
- // Force ASM dependency to be 6.0 for JDK9 support
- compile('org.ow2.asm:asm:6.0') { force = true }
- compile('org.ow2.asm:asm-commons:6.0') { force = true }
- compile('org.ow2.asm:asm-util:6.0') { force = true }
-
shadowArtifacts.forEach { shadowArtifact ->
compile ("${shadowArtifact}") {
// we don't need these MavenDependencyResolver in a hermetic build
diff --git a/common/sdk-common/PREBUILT b/common/sdk-common/PREBUILT
index 71e93fd..bb95d5d 100644
--- a/common/sdk-common/PREBUILT
+++ b/common/sdk-common/PREBUILT
@@ -1 +1 @@
-sdk-common.jar was built from tools/base/sdk-common@3b69c0bf62dd53bb097792fd2e687de49e1617f1
+sdk-common.jar was built from tools/base/sdk-common@508b5c918b458394283eea486561f525037b5a5e
diff --git a/common/sdk-common/sdk-common-sources.jar b/common/sdk-common/sdk-common-sources.jar
index a8a643d..af5786e 100644
--- a/common/sdk-common/sdk-common-sources.jar
+++ b/common/sdk-common/sdk-common-sources.jar
Binary files differ
diff --git a/common/sdk-common/sdk-common.jar b/common/sdk-common/sdk-common.jar
index d24f76c..10c31aa 100644
--- a/common/sdk-common/sdk-common.jar
+++ b/common/sdk-common/sdk-common.jar
Binary files differ
diff --git a/common/tools-common/PREBUILT b/common/tools-common/PREBUILT
index c2b455c..a40d37e 100644
--- a/common/tools-common/PREBUILT
+++ b/common/tools-common/PREBUILT
@@ -1 +1 @@
-tools-common-prebuilt.jar was built from tools/base/common@3b69c0bf62dd53bb097792fd2e687de49e1617f1
+tools-common-prebuilt.jar was built from tools/base/common@508b5c918b458394283eea486561f525037b5a5e
diff --git a/common/tools-common/tools-common-prebuilt-sources.jar b/common/tools-common/tools-common-prebuilt-sources.jar
index 2044c07..3f5d173 100644
--- a/common/tools-common/tools-common-prebuilt-sources.jar
+++ b/common/tools-common/tools-common-prebuilt-sources.jar
Binary files differ
diff --git a/common/tools-common/tools-common-prebuilt.jar b/common/tools-common/tools-common-prebuilt.jar
index ccbaed7..c903a7d 100644
--- a/common/tools-common/tools-common-prebuilt.jar
+++ b/common/tools-common/tools-common-prebuilt.jar
Binary files differ
diff --git a/common/winscope/intDefMapping.json b/common/winscope/intDefMapping.json
new file mode 100644
index 0000000..419a145
--- /dev/null
+++ b/common/winscope/intDefMapping.json
@@ -0,0 +1,11882 @@
+{
+ "android.accessibilityservice.AccessibilityGestureEvent.GestureId": {
+ "flag": false,
+ "values": {
+ "0": "GESTURE_UNKNOWN",
+ "-2": "GESTURE_TOUCH_EXPLORATION",
+ "19": "GESTURE_2_FINGER_SINGLE_TAP",
+ "43": "GESTURE_2_FINGER_SINGLE_TAP_AND_HOLD",
+ "20": "GESTURE_2_FINGER_DOUBLE_TAP",
+ "40": "GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD",
+ "21": "GESTURE_2_FINGER_TRIPLE_TAP",
+ "22": "GESTURE_3_FINGER_SINGLE_TAP",
+ "44": "GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD",
+ "23": "GESTURE_3_FINGER_DOUBLE_TAP",
+ "41": "GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD",
+ "24": "GESTURE_3_FINGER_TRIPLE_TAP",
+ "45": "GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD",
+ "17": "GESTURE_DOUBLE_TAP",
+ "18": "GESTURE_DOUBLE_TAP_AND_HOLD",
+ "1": "GESTURE_SWIPE_UP",
+ "13": "GESTURE_SWIPE_UP_AND_LEFT",
+ "7": "GESTURE_SWIPE_UP_AND_DOWN",
+ "14": "GESTURE_SWIPE_UP_AND_RIGHT",
+ "2": "GESTURE_SWIPE_DOWN",
+ "15": "GESTURE_SWIPE_DOWN_AND_LEFT",
+ "8": "GESTURE_SWIPE_DOWN_AND_UP",
+ "16": "GESTURE_SWIPE_DOWN_AND_RIGHT",
+ "3": "GESTURE_SWIPE_LEFT",
+ "9": "GESTURE_SWIPE_LEFT_AND_UP",
+ "5": "GESTURE_SWIPE_LEFT_AND_RIGHT",
+ "10": "GESTURE_SWIPE_LEFT_AND_DOWN",
+ "4": "GESTURE_SWIPE_RIGHT",
+ "11": "GESTURE_SWIPE_RIGHT_AND_UP",
+ "6": "GESTURE_SWIPE_RIGHT_AND_LEFT",
+ "12": "GESTURE_SWIPE_RIGHT_AND_DOWN",
+ "26": "GESTURE_2_FINGER_SWIPE_DOWN",
+ "27": "GESTURE_2_FINGER_SWIPE_LEFT",
+ "28": "GESTURE_2_FINGER_SWIPE_RIGHT",
+ "25": "GESTURE_2_FINGER_SWIPE_UP",
+ "30": "GESTURE_3_FINGER_SWIPE_DOWN",
+ "31": "GESTURE_3_FINGER_SWIPE_LEFT",
+ "32": "GESTURE_3_FINGER_SWIPE_RIGHT",
+ "29": "GESTURE_3_FINGER_SWIPE_UP",
+ "38": "GESTURE_4_FINGER_DOUBLE_TAP",
+ "42": "GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD",
+ "37": "GESTURE_4_FINGER_SINGLE_TAP",
+ "34": "GESTURE_4_FINGER_SWIPE_DOWN",
+ "35": "GESTURE_4_FINGER_SWIPE_LEFT",
+ "36": "GESTURE_4_FINGER_SWIPE_RIGHT",
+ "33": "GESTURE_4_FINGER_SWIPE_UP",
+ "39": "GESTURE_4_FINGER_TRIPLE_TAP"
+ }
+ },
+ "android.accessibilityservice.AccessibilityService.ScreenshotErrorCode": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR",
+ "2": "ERROR_TAKE_SCREENSHOT_NO_ACCESSIBILITY_ACCESS",
+ "3": "ERROR_TAKE_SCREENSHOT_INTERVAL_TIME_SHORT",
+ "4": "ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY"
+ }
+ },
+ "android.accessibilityservice.AccessibilityService.SoftKeyboardShowMode": {
+ "flag": false,
+ "values": {
+ "0": "SHOW_MODE_AUTO",
+ "1": "SHOW_MODE_HIDDEN",
+ "2": "SHOW_MODE_IGNORE_HARD_KEYBOARD"
+ }
+ },
+ "android.accessibilityservice.AccessibilityServiceInfo.FeedbackType": {
+ "flag": true,
+ "values": {
+ "4": "FEEDBACK_AUDIBLE",
+ "16": "FEEDBACK_GENERIC",
+ "2": "FEEDBACK_HAPTIC",
+ "1": "FEEDBACK_SPOKEN",
+ "8": "FEEDBACK_VISUAL",
+ "32": "FEEDBACK_BRAILLE"
+ }
+ },
+ "android.accounts.AccountManager.AccountVisibility": {
+ "flag": false,
+ "values": {
+ "0": "VISIBILITY_UNDEFINED",
+ "1": "VISIBILITY_VISIBLE",
+ "2": "VISIBILITY_USER_MANAGED_VISIBLE",
+ "3": "VISIBILITY_NOT_VISIBLE",
+ "4": "VISIBILITY_USER_MANAGED_NOT_VISIBLE"
+ }
+ },
+ "android.animation.ValueAnimator.RepeatMode": {
+ "flag": false,
+ "values": {
+ "1": "RESTART",
+ "2": "REVERSE"
+ }
+ },
+ "android.annotation.Dimension.Unit": {
+ "flag": false,
+ "values": {
+ "1": "PX",
+ "0": "DP",
+ "2": "SP"
+ }
+ },
+ "android.app.ActionBar.DisplayOptions": {
+ "flag": true,
+ "values": {
+ "1": "DISPLAY_USE_LOGO",
+ "2": "DISPLAY_SHOW_HOME",
+ "4": "DISPLAY_HOME_AS_UP",
+ "8": "DISPLAY_SHOW_TITLE",
+ "16": "DISPLAY_SHOW_CUSTOM",
+ "32": "DISPLAY_TITLE_MULTIPLE_LINES"
+ }
+ },
+ "android.app.ActionBar.NavigationMode": {
+ "flag": false,
+ "values": {
+ "0": "NAVIGATION_MODE_STANDARD",
+ "1": "NAVIGATION_MODE_LIST",
+ "2": "NAVIGATION_MODE_TABS"
+ }
+ },
+ "android.app.Activity.ContentCaptureNotificationType": {
+ "flag": false,
+ "values": {
+ "1": "CONTENT_CAPTURE_START",
+ "2": "CONTENT_CAPTURE_RESUME",
+ "3": "CONTENT_CAPTURE_PAUSE",
+ "4": "CONTENT_CAPTURE_STOP"
+ }
+ },
+ "android.app.Activity.DefaultKeyMode": {
+ "flag": false,
+ "values": {
+ "0": "DEFAULT_KEYS_DISABLE",
+ "1": "DEFAULT_KEYS_DIALER",
+ "2": "DEFAULT_KEYS_SHORTCUT",
+ "3": "DEFAULT_KEYS_SEARCH_LOCAL",
+ "4": "DEFAULT_KEYS_SEARCH_GLOBAL"
+ }
+ },
+ "android.app.ActivityManager.MoveTaskFlags": {
+ "flag": true,
+ "values": {
+ "1": "MOVE_TASK_WITH_HOME",
+ "2": "MOVE_TASK_NO_USER_ACTION"
+ }
+ },
+ "android.app.ActivityManager.ProcessCapability": {
+ "flag": true,
+ "values": {
+ "0": "PROCESS_CAPABILITY_NONE",
+ "1": "PROCESS_CAPABILITY_FOREGROUND_LOCATION",
+ "2": "PROCESS_CAPABILITY_FOREGROUND_CAMERA",
+ "4": "PROCESS_CAPABILITY_FOREGROUND_MICROPHONE"
+ }
+ },
+ "android.app.ActivityManager.ProcessState": {
+ "flag": false,
+ "values": {
+ "-1": "PROCESS_STATE_UNKNOWN",
+ "0": "PROCESS_STATE_PERSISTENT",
+ "1": "PROCESS_STATE_PERSISTENT_UI",
+ "2": "PROCESS_STATE_TOP",
+ "3": "PROCESS_STATE_BOUND_TOP",
+ "4": "PROCESS_STATE_FOREGROUND_SERVICE",
+ "5": "PROCESS_STATE_BOUND_FOREGROUND_SERVICE",
+ "6": "PROCESS_STATE_IMPORTANT_FOREGROUND",
+ "7": "PROCESS_STATE_IMPORTANT_BACKGROUND",
+ "8": "PROCESS_STATE_TRANSIENT_BACKGROUND",
+ "9": "PROCESS_STATE_BACKUP",
+ "10": "PROCESS_STATE_SERVICE",
+ "11": "PROCESS_STATE_RECEIVER",
+ "12": "PROCESS_STATE_TOP_SLEEPING",
+ "13": "PROCESS_STATE_HEAVY_WEIGHT",
+ "14": "PROCESS_STATE_HOME",
+ "15": "PROCESS_STATE_LAST_ACTIVITY",
+ "16": "PROCESS_STATE_CACHED_ACTIVITY",
+ "17": "PROCESS_STATE_CACHED_ACTIVITY_CLIENT",
+ "18": "PROCESS_STATE_CACHED_RECENT",
+ "19": "PROCESS_STATE_CACHED_EMPTY"
+ }
+ },
+ "android.app.ActivityManager.RunningAppProcessInfo.Importance": {
+ "flag": false,
+ "values": {
+ "100": "IMPORTANCE_FOREGROUND",
+ "125": "IMPORTANCE_FOREGROUND_SERVICE",
+ "325": "IMPORTANCE_TOP_SLEEPING",
+ "200": "IMPORTANCE_VISIBLE",
+ "230": "IMPORTANCE_PERCEPTIBLE",
+ "350": "IMPORTANCE_CANT_SAVE_STATE",
+ "300": "IMPORTANCE_SERVICE",
+ "400": "IMPORTANCE_CACHED",
+ "1000": "IMPORTANCE_GONE"
+ }
+ },
+ "android.app.ActivityOptions.SourceInfo.SourceType": {
+ "flag": true,
+ "values": {
+ "1": "TYPE_LAUNCHER",
+ "2": "TYPE_NOTIFICATION",
+ "3": "TYPE_LOCKSCREEN"
+ }
+ },
+ "android.app.AlarmManager.AlarmType": {
+ "flag": false,
+ "values": {
+ "0": "RTC_WAKEUP",
+ "1": "RTC",
+ "2": "ELAPSED_REALTIME_WAKEUP",
+ "3": "ELAPSED_REALTIME"
+ }
+ },
+ "android.app.AppOpsManager.HistoricalMode": {
+ "flag": true,
+ "values": {
+ "0": "HISTORICAL_MODE_DISABLED",
+ "1": "HISTORICAL_MODE_ENABLED_ACTIVE",
+ "2": "HISTORICAL_MODE_ENABLED_PASSIVE"
+ }
+ },
+ "android.app.AppOpsManager.HistoricalOpsRequestFilter": {
+ "flag": true,
+ "values": {
+ "1": "FILTER_BY_UID",
+ "2": "FILTER_BY_PACKAGE_NAME",
+ "4": "FILTER_BY_ATTRIBUTION_TAG",
+ "8": "FILTER_BY_OP_NAMES"
+ }
+ },
+ "android.app.AppOpsManager.Mode": {
+ "flag": true,
+ "values": {
+ "0": "MODE_ALLOWED",
+ "1": "MODE_IGNORED",
+ "2": "MODE_ERRORED",
+ "3": "MODE_DEFAULT",
+ "4": "MODE_FOREGROUND"
+ }
+ },
+ "android.app.AppOpsManager.NotedOpCollectionMode": {
+ "flag": false,
+ "values": {
+ "0": "DONT_COLLECT",
+ "1": "COLLECT_SELF",
+ "2": "COLLECT_SYNC",
+ "3": "COLLECT_ASYNC"
+ }
+ },
+ "android.app.AppOpsManager.OpFlags": {
+ "flag": true,
+ "values": {
+ "1": "OP_FLAG_SELF",
+ "2": "OP_FLAG_TRUSTED_PROXY",
+ "4": "OP_FLAG_UNTRUSTED_PROXY",
+ "8": "OP_FLAG_TRUSTED_PROXIED",
+ "16": "OP_FLAG_UNTRUSTED_PROXIED"
+ }
+ },
+ "android.app.AppOpsManager.SamplingStrategy": {
+ "flag": false,
+ "values": {
+ "0": "SAMPLING_STRATEGY_DEFAULT",
+ "1": "SAMPLING_STRATEGY_UNIFORM",
+ "2": "SAMPLING_STRATEGY_RARELY_USED",
+ "3": "SAMPLING_STRATEGY_BOOT_TIME_SAMPLING",
+ "4": "SAMPLING_STRATEGY_UNIFORM_OPS"
+ }
+ },
+ "android.app.AppOpsManager.ShouldCollectNoteOp": {
+ "flag": true,
+ "values": {
+ "0": "SHOULD_COLLECT_NOTE_OP_NOT_INITIALIZED",
+ "1": "SHOULD_NOT_COLLECT_NOTE_OP",
+ "2": "SHOULD_COLLECT_NOTE_OP"
+ }
+ },
+ "android.app.AppOpsManager.UidState": {
+ "flag": false,
+ "values": {
+ "100": "UID_STATE_PERSISTENT",
+ "200": "UID_STATE_TOP",
+ "300": "UID_STATE_FOREGROUND_SERVICE_LOCATION",
+ "400": "UID_STATE_FOREGROUND_SERVICE",
+ "500": "UID_STATE_FOREGROUND",
+ "600": "UID_STATE_BACKGROUND",
+ "700": "UID_STATE_CACHED"
+ }
+ },
+ "android.app.ApplicationExitInfo.Reason": {
+ "flag": false,
+ "values": {
+ "0": "REASON_UNKNOWN",
+ "1": "REASON_EXIT_SELF",
+ "2": "REASON_SIGNALED",
+ "3": "REASON_LOW_MEMORY",
+ "4": "REASON_CRASH",
+ "5": "REASON_CRASH_NATIVE",
+ "6": "REASON_ANR",
+ "7": "REASON_INITIALIZATION_FAILURE",
+ "8": "REASON_PERMISSION_CHANGE",
+ "9": "REASON_EXCESSIVE_RESOURCE_USAGE",
+ "10": "REASON_USER_REQUESTED",
+ "11": "REASON_USER_STOPPED",
+ "12": "REASON_DEPENDENCY_DIED",
+ "13": "REASON_OTHER"
+ }
+ },
+ "android.app.ApplicationExitInfo.SubReason": {
+ "flag": false,
+ "values": {
+ "0": "SUBREASON_UNKNOWN",
+ "1": "SUBREASON_WAIT_FOR_DEBUGGER",
+ "2": "SUBREASON_TOO_MANY_CACHED",
+ "3": "SUBREASON_TOO_MANY_EMPTY",
+ "4": "SUBREASON_TRIM_EMPTY",
+ "5": "SUBREASON_LARGE_CACHED",
+ "6": "SUBREASON_MEMORY_PRESSURE",
+ "7": "SUBREASON_EXCESSIVE_CPU",
+ "8": "SUBREASON_SYSTEM_UPDATE_DONE",
+ "9": "SUBREASON_KILL_ALL_FG",
+ "10": "SUBREASON_KILL_ALL_BG_EXCEPT",
+ "11": "SUBREASON_KILL_UID",
+ "12": "SUBREASON_KILL_PID",
+ "13": "SUBREASON_INVALID_START",
+ "14": "SUBREASON_INVALID_STATE",
+ "15": "SUBREASON_IMPERCEPTIBLE",
+ "16": "SUBREASON_REMOVE_LRU",
+ "17": "SUBREASON_ISOLATED_NOT_NEEDED"
+ }
+ },
+ "android.app.ContextImpl.ContextType": {
+ "flag": false,
+ "values": {
+ "0": "CONTEXT_TYPE_NON_UI",
+ "1": "CONTEXT_TYPE_DISPLAY_CONTEXT",
+ "2": "CONTEXT_TYPE_ACTIVITY",
+ "3": "CONTEXT_TYPE_WINDOW_CONTEXT",
+ "4": "CONTEXT_TYPE_SYSTEM_OR_SYSTEM_UI"
+ }
+ },
+ "android.app.ContextImpl.ServiceInitializationState": {
+ "flag": false,
+ "values": {
+ "0": "STATE_UNINITIALIZED",
+ "1": "STATE_INITIALIZING",
+ "2": "STATE_READY",
+ "3": "STATE_NOT_FOUND"
+ }
+ },
+ "android.app.FragmentTransaction.Transit": {
+ "flag": false,
+ "values": {
+ "0": "TRANSIT_NONE",
+ "4097": "TRANSIT_FRAGMENT_OPEN",
+ "8194": "TRANSIT_FRAGMENT_CLOSE",
+ "4099": "TRANSIT_FRAGMENT_FADE"
+ }
+ },
+ "android.app.Instrumentation.UiAutomationFlags": {
+ "flag": false,
+ "values": {
+ "0": "FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES",
+ "1": "FLAG_DONT_USE_ACCESSIBILITY"
+ }
+ },
+ "android.app.KeyguardManager.LockTypes": {
+ "flag": false,
+ "values": {
+ "0": "PASSWORD",
+ "1": "PIN",
+ "2": "PATTERN"
+ }
+ },
+ "android.app.Notification.Action.SemanticAction": {
+ "flag": false,
+ "values": {
+ "0": "SEMANTIC_ACTION_NONE",
+ "1": "SEMANTIC_ACTION_REPLY",
+ "2": "SEMANTIC_ACTION_MARK_AS_READ",
+ "3": "SEMANTIC_ACTION_MARK_AS_UNREAD",
+ "4": "SEMANTIC_ACTION_DELETE",
+ "5": "SEMANTIC_ACTION_ARCHIVE",
+ "6": "SEMANTIC_ACTION_MUTE",
+ "7": "SEMANTIC_ACTION_UNMUTE",
+ "8": "SEMANTIC_ACTION_THUMBS_UP",
+ "9": "SEMANTIC_ACTION_THUMBS_DOWN",
+ "10": "SEMANTIC_ACTION_CALL"
+ }
+ },
+ "android.app.Notification.GroupAlertBehavior": {
+ "flag": false,
+ "values": {
+ "0": "GROUP_ALERT_ALL",
+ "2": "GROUP_ALERT_CHILDREN",
+ "1": "GROUP_ALERT_SUMMARY"
+ }
+ },
+ "android.app.Notification.MessagingStyle.ConversationType": {
+ "flag": false,
+ "values": {
+ "0": "CONVERSATION_TYPE_LEGACY",
+ "1": "CONVERSATION_TYPE_NORMAL",
+ "2": "CONVERSATION_TYPE_IMPORTANT"
+ }
+ },
+ "android.app.Notification.NotificationFlags": {
+ "flag": false,
+ "values": {
+ "1": "FLAG_SHOW_LIGHTS",
+ "2": "FLAG_ONGOING_EVENT",
+ "4": "FLAG_INSISTENT",
+ "8": "FLAG_ONLY_ALERT_ONCE",
+ "16": "FLAG_AUTO_CANCEL",
+ "32": "FLAG_NO_CLEAR",
+ "64": "FLAG_FOREGROUND_SERVICE",
+ "128": "FLAG_HIGH_PRIORITY",
+ "256": "FLAG_LOCAL_ONLY",
+ "512": "FLAG_GROUP_SUMMARY",
+ "1024": "FLAG_AUTOGROUP_SUMMARY",
+ "4096": "FLAG_BUBBLE",
+ "8192": "FLAG_IMMEDIATE_FGS_DISPLAY"
+ }
+ },
+ "android.app.Notification.Priority": {
+ "flag": false,
+ "values": {
+ "0": "PRIORITY_DEFAULT",
+ "-1": "PRIORITY_LOW",
+ "-2": "PRIORITY_MIN",
+ "1": "PRIORITY_HIGH",
+ "2": "PRIORITY_MAX"
+ }
+ },
+ "android.app.Notification.Visibility": {
+ "flag": false,
+ "values": {
+ "1": "VISIBILITY_PUBLIC",
+ "0": "VISIBILITY_PRIVATE",
+ "-1": "VISIBILITY_SECRET"
+ }
+ },
+ "android.app.NotificationManager.AutomaticZenRuleStatus": {
+ "flag": false,
+ "values": {
+ "1": "AUTOMATIC_RULE_STATUS_ENABLED",
+ "2": "AUTOMATIC_RULE_STATUS_DISABLED",
+ "3": "AUTOMATIC_RULE_STATUS_REMOVED",
+ "-1": "AUTOMATIC_RULE_STATUS_UNKNOWN"
+ }
+ },
+ "android.app.NotificationManager.Importance": {
+ "flag": false,
+ "values": {
+ "-1000": "IMPORTANCE_UNSPECIFIED",
+ "0": "IMPORTANCE_NONE",
+ "1": "IMPORTANCE_MIN",
+ "2": "IMPORTANCE_LOW",
+ "3": "IMPORTANCE_DEFAULT",
+ "4": "IMPORTANCE_HIGH"
+ }
+ },
+ "android.app.NotificationManager.InterruptionFilter": {
+ "flag": false,
+ "values": {
+ "3": "INTERRUPTION_FILTER_NONE",
+ "2": "INTERRUPTION_FILTER_PRIORITY",
+ "4": "INTERRUPTION_FILTER_ALARMS",
+ "1": "INTERRUPTION_FILTER_ALL",
+ "0": "INTERRUPTION_FILTER_UNKNOWN"
+ }
+ },
+ "android.app.NotificationManager.Policy.ConversationSenders": {
+ "flag": false,
+ "values": {
+ "1": "CONVERSATION_SENDERS_ANYONE",
+ "2": "CONVERSATION_SENDERS_IMPORTANT",
+ "3": "CONVERSATION_SENDERS_NONE"
+ }
+ },
+ "android.app.NotificationManager.Policy.PrioritySenders": {
+ "flag": false,
+ "values": {
+ "0": "PRIORITY_SENDERS_ANY",
+ "1": "PRIORITY_SENDERS_CONTACTS",
+ "2": "PRIORITY_SENDERS_STARRED"
+ }
+ },
+ "android.app.PendingIntent.Flags": {
+ "flag": true,
+ "values": {
+ "1073741824": "FLAG_ONE_SHOT",
+ "536870912": "FLAG_NO_CREATE",
+ "268435456": "FLAG_CANCEL_CURRENT",
+ "134217728": "FLAG_UPDATE_CURRENT",
+ "67108864": "FLAG_IMMUTABLE",
+ "33554432": "FLAG_MUTABLE_UNAUDITED",
+ "1": "FILL_IN_ACTION",
+ "2": "FILL_IN_DATA",
+ "4": "FILL_IN_CATEGORIES",
+ "8": "FILL_IN_COMPONENT",
+ "16": "FILL_IN_PACKAGE",
+ "32": "FILL_IN_SOURCE_BOUNDS",
+ "64": "FILL_IN_SELECTOR",
+ "128": "FILL_IN_CLIP_DATA"
+ }
+ },
+ "android.app.RemoteInput.EditChoicesBeforeSending": {
+ "flag": false,
+ "values": {
+ "0": "EDIT_CHOICES_BEFORE_SENDING_AUTO",
+ "1": "EDIT_CHOICES_BEFORE_SENDING_DISABLED",
+ "2": "EDIT_CHOICES_BEFORE_SENDING_ENABLED"
+ }
+ },
+ "android.app.RemoteInput.Source": {
+ "flag": false,
+ "values": {
+ "0": "SOURCE_FREE_FORM_INPUT",
+ "1": "SOURCE_CHOICE"
+ }
+ },
+ "android.app.Service.StartArgFlags": {
+ "flag": true,
+ "values": {
+ "1": "START_FLAG_REDELIVERY",
+ "2": "START_FLAG_RETRY"
+ }
+ },
+ "android.app.Service.StartResult": {
+ "flag": false,
+ "values": {
+ "0": "START_STICKY_COMPATIBILITY",
+ "1": "START_STICKY",
+ "2": "START_NOT_STICKY",
+ "3": "START_REDELIVER_INTENT"
+ }
+ },
+ "android.app.Service.StopForegroundFlags": {
+ "flag": true,
+ "values": {
+ "1": "STOP_FOREGROUND_REMOVE",
+ "2": "STOP_FOREGROUND_DETACH"
+ }
+ },
+ "android.app.StatusBarManager.Disable2Flags": {
+ "flag": true,
+ "values": {
+ "0": "DISABLE2_NONE",
+ "31": "DISABLE2_MASK",
+ "1": "DISABLE2_QUICK_SETTINGS",
+ "2": "DISABLE2_SYSTEM_ICONS",
+ "4": "DISABLE2_NOTIFICATION_SHADE",
+ "8": "DISABLE2_GLOBAL_ACTIONS",
+ "16": "DISABLE2_ROTATE_SUGGESTIONS"
+ }
+ },
+ "android.app.StatusBarManager.DisableFlags": {
+ "flag": true,
+ "values": {
+ "0": "DISABLE_NONE",
+ "65536": "DISABLE_EXPAND",
+ "131072": "DISABLE_NOTIFICATION_ICONS",
+ "262144": "DISABLE_NOTIFICATION_ALERTS",
+ "524288": "DISABLE_NOTIFICATION_TICKER",
+ "1048576": "DISABLE_SYSTEM_INFO",
+ "2097152": "DISABLE_HOME",
+ "16777216": "DISABLE_RECENT",
+ "4194304": "DISABLE_BACK",
+ "8388608": "DISABLE_CLOCK",
+ "33554432": "DISABLE_SEARCH"
+ }
+ },
+ "android.app.StatusBarManager.WindowType": {
+ "flag": true,
+ "values": {
+ "1": "WINDOW_STATUS_BAR",
+ "2": "WINDOW_NAVIGATION_BAR"
+ }
+ },
+ "android.app.StatusBarManager.WindowVisibleState": {
+ "flag": true,
+ "values": {
+ "0": "WINDOW_STATE_SHOWING",
+ "1": "WINDOW_STATE_HIDING",
+ "2": "WINDOW_STATE_HIDDEN"
+ }
+ },
+ "android.app.UiAutomation.ConnectionState": {
+ "flag": false,
+ "values": {
+ "0": "DISCONNECTED",
+ "1": "CONNECTING",
+ "2": "CONNECTED",
+ "3": "FAILED"
+ }
+ },
+ "android.app.UiModeManager.DisableCarMode": {
+ "flag": false,
+ "values": {
+ "1": "DISABLE_CAR_MODE_GO_HOME"
+ }
+ },
+ "android.app.UiModeManager.EnableCarMode": {
+ "flag": false,
+ "values": {
+ "1": "ENABLE_CAR_MODE_GO_CAR_HOME",
+ "2": "ENABLE_CAR_MODE_ALLOW_SLEEP"
+ }
+ },
+ "android.app.UiModeManager.NightMode": {
+ "flag": false,
+ "values": {
+ "0": "MODE_NIGHT_AUTO",
+ "3": "MODE_NIGHT_CUSTOM",
+ "1": "MODE_NIGHT_NO",
+ "2": "MODE_NIGHT_YES"
+ }
+ },
+ "android.app.UiModeManager.ProjectionType": {
+ "flag": false,
+ "values": {
+ "0": "PROJECTION_TYPE_NONE",
+ "1": "PROJECTION_TYPE_AUTOMOTIVE",
+ "65535": "PROJECTION_TYPE_ALL"
+ }
+ },
+ "android.app.Vr2dDisplayProperties.Vr2dDisplayFlag": {
+ "flag": false,
+ "values": {
+ "1": "FLAG_VIRTUAL_DISPLAY_ENABLED"
+ }
+ },
+ "android.app.WaitResult.LaunchState": {
+ "flag": false,
+ "values": {
+ "0": "LAUNCH_STATE_UNKNOWN",
+ "1": "LAUNCH_STATE_COLD",
+ "2": "LAUNCH_STATE_WARM",
+ "3": "LAUNCH_STATE_HOT",
+ "4": "LAUNCH_STATE_RELAUNCH"
+ }
+ },
+ "android.app.WallpaperManager.SetWallpaperFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_SYSTEM",
+ "2": "FLAG_LOCK"
+ }
+ },
+ "android.app.WindowConfiguration.ActivityType": {
+ "flag": false,
+ "values": {
+ "0": "ACTIVITY_TYPE_UNDEFINED",
+ "1": "ACTIVITY_TYPE_STANDARD",
+ "2": "ACTIVITY_TYPE_HOME",
+ "3": "ACTIVITY_TYPE_RECENTS",
+ "4": "ACTIVITY_TYPE_ASSISTANT",
+ "5": "ACTIVITY_TYPE_DREAM"
+ }
+ },
+ "android.app.WindowConfiguration.AlwaysOnTop": {
+ "flag": false,
+ "values": {
+ "0": "ALWAYS_ON_TOP_UNDEFINED",
+ "1": "ALWAYS_ON_TOP_ON",
+ "2": "ALWAYS_ON_TOP_OFF"
+ }
+ },
+ "android.app.WindowConfiguration.WindowConfig": {
+ "flag": true,
+ "values": {
+ "1": "WINDOW_CONFIG_BOUNDS",
+ "2": "WINDOW_CONFIG_APP_BOUNDS",
+ "4": "WINDOW_CONFIG_MAX_BOUNDS",
+ "8": "WINDOW_CONFIG_WINDOWING_MODE",
+ "16": "WINDOW_CONFIG_ACTIVITY_TYPE",
+ "32": "WINDOW_CONFIG_ALWAYS_ON_TOP",
+ "64": "WINDOW_CONFIG_ROTATION",
+ "128": "WINDOW_CONFIG_DISPLAY_WINDOWING_MODE"
+ }
+ },
+ "android.app.WindowConfiguration.WindowingMode": {
+ "flag": false,
+ "values": {
+ "0": "WINDOWING_MODE_UNDEFINED",
+ "1": "WINDOWING_MODE_FULLSCREEN",
+ "6": "WINDOWING_MODE_MULTI_WINDOW",
+ "2": "WINDOWING_MODE_PINNED",
+ "3": "WINDOWING_MODE_SPLIT_SCREEN_PRIMARY",
+ "4": "WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY",
+ "5": "WINDOWING_MODE_FREEFORM"
+ }
+ },
+ "android.app.admin.DeviceAdminReceiver.BugreportFailureCode": {
+ "flag": false,
+ "values": {
+ "0": "BUGREPORT_FAILURE_FAILED_COMPLETING",
+ "1": "BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.AttestationIdType": {
+ "flag": true,
+ "values": {
+ "1": "ID_TYPE_BASE_INFO",
+ "2": "ID_TYPE_SERIAL",
+ "4": "ID_TYPE_IMEI",
+ "8": "ID_TYPE_MEID",
+ "16": "ID_TYPE_INDIVIDUAL_ATTESTATION"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.CreateAndManageUserFlags": {
+ "flag": true,
+ "values": {
+ "1": "SKIP_SETUP_WIZARD",
+ "2": "MAKE_USER_EPHEMERAL",
+ "4": "MAKE_USER_DEMO",
+ "16": "LEAVE_ALL_SYSTEM_APPS_ENABLED"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.DevicePolicyOperation": {
+ "flag": false,
+ "values": {
+ "1": "OPERATION_LOCK_NOW"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.InstallUpdateCallbackErrorConstants": {
+ "flag": false,
+ "values": {
+ "1": "UPDATE_ERROR_UNKNOWN",
+ "2": "UPDATE_ERROR_INCORRECT_OS_VERSION",
+ "3": "UPDATE_ERROR_UPDATE_FILE_INVALID",
+ "4": "UPDATE_ERROR_FILE_NOT_FOUND",
+ "5": "UPDATE_ERROR_BATTERY_LOW"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.LockNowFlag": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.LockTaskFeature": {
+ "flag": true,
+ "values": {
+ "0": "LOCK_TASK_FEATURE_NONE",
+ "1": "LOCK_TASK_FEATURE_SYSTEM_INFO",
+ "2": "LOCK_TASK_FEATURE_NOTIFICATIONS",
+ "4": "LOCK_TASK_FEATURE_HOME",
+ "8": "LOCK_TASK_FEATURE_OVERVIEW",
+ "16": "LOCK_TASK_FEATURE_GLOBAL_ACTIONS",
+ "32": "LOCK_TASK_FEATURE_KEYGUARD",
+ "64": "LOCK_TASK_FEATURE_BLOCK_ACTIVITY_START_IN_TASK"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.PasswordComplexity": {
+ "flag": false,
+ "values": {
+ "0": "PASSWORD_COMPLEXITY_NONE",
+ "65536": "PASSWORD_COMPLEXITY_LOW",
+ "196608": "PASSWORD_COMPLEXITY_MEDIUM",
+ "327680": "PASSWORD_COMPLEXITY_HIGH"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.PermissionGrantState": {
+ "flag": false,
+ "values": {
+ "0": "PERMISSION_GRANT_STATE_DEFAULT",
+ "1": "PERMISSION_GRANT_STATE_GRANTED",
+ "2": "PERMISSION_GRANT_STATE_DENIED"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.PersonalAppsSuspensionReason": {
+ "flag": true,
+ "values": {
+ "0": "PERSONAL_APPS_NOT_SUSPENDED",
+ "1": "PERSONAL_APPS_SUSPENDED_EXPLICITLY",
+ "2": "PERSONAL_APPS_SUSPENDED_PROFILE_TIMEOUT"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.PrivateDnsMode": {
+ "flag": true,
+ "values": {
+ "0": "PRIVATE_DNS_MODE_UNKNOWN",
+ "1": "PRIVATE_DNS_MODE_OFF",
+ "2": "PRIVATE_DNS_MODE_OPPORTUNISTIC",
+ "3": "PRIVATE_DNS_MODE_PROVIDER_HOSTNAME"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.PrivateDnsModeErrorCodes": {
+ "flag": false,
+ "values": {
+ "0": "PRIVATE_DNS_SET_NO_ERROR",
+ "1": "PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING",
+ "2": "PRIVATE_DNS_SET_ERROR_FAILURE_SETTING"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.ProvisioningPreCondition": {
+ "flag": false,
+ "values": {
+ "0": "CODE_OK",
+ "1": "CODE_HAS_DEVICE_OWNER",
+ "2": "CODE_USER_HAS_PROFILE_OWNER",
+ "3": "CODE_USER_NOT_RUNNING",
+ "4": "CODE_USER_SETUP_COMPLETED",
+ "7": "CODE_NOT_SYSTEM_USER",
+ "8": "CODE_HAS_PAIRED",
+ "9": "CODE_MANAGED_USERS_NOT_SUPPORTED",
+ "10": "CODE_SYSTEM_USER",
+ "11": "CODE_CANNOT_ADD_MANAGED_PROFILE",
+ "12": "CODE_NOT_SYSTEM_USER_SPLIT",
+ "13": "CODE_DEVICE_ADMIN_NOT_SUPPORTED",
+ "14": "CODE_SPLIT_SYSTEM_USER_DEVICE_SYSTEM_USER"
+ }
+ },
+ "android.app.admin.DevicePolicyManager.UserProvisioningState": {
+ "flag": false,
+ "values": {
+ "0": "STATE_USER_UNMANAGED",
+ "1": "STATE_USER_SETUP_INCOMPLETE",
+ "2": "STATE_USER_SETUP_COMPLETE",
+ "3": "STATE_USER_SETUP_FINALIZED",
+ "4": "STATE_USER_PROFILE_COMPLETE",
+ "5": "STATE_USER_PROFILE_FINALIZED"
+ }
+ },
+ "android.app.admin.PasswordMetrics.CharacterCatagory": {
+ "flag": false,
+ "values": {
+ "1": "CHAR_UPPER_CASE",
+ "0": "CHAR_LOWER_CASE",
+ "2": "CHAR_DIGIT",
+ "3": "CHAR_SYMBOL"
+ }
+ },
+ "android.app.admin.SecurityLog.SecurityLogLevel": {
+ "flag": false,
+ "values": {
+ "1": "LEVEL_INFO",
+ "2": "LEVEL_WARNING",
+ "3": "LEVEL_ERROR"
+ }
+ },
+ "android.app.admin.SecurityLog.SecurityLogTag": {
+ "flag": false,
+ "values": {
+ "210001": "TAG_ADB_SHELL_INTERACTIVE",
+ "210002": "TAG_ADB_SHELL_CMD",
+ "210003": "TAG_SYNC_RECV_FILE",
+ "210004": "TAG_SYNC_SEND_FILE",
+ "210005": "TAG_APP_PROCESS_START",
+ "210006": "TAG_KEYGUARD_DISMISSED",
+ "210007": "TAG_KEYGUARD_DISMISS_AUTH_ATTEMPT",
+ "210008": "TAG_KEYGUARD_SECURED",
+ "210009": "TAG_OS_STARTUP",
+ "210010": "TAG_OS_SHUTDOWN",
+ "210011": "TAG_LOGGING_STARTED",
+ "210012": "TAG_LOGGING_STOPPED",
+ "210013": "TAG_MEDIA_MOUNT",
+ "210014": "TAG_MEDIA_UNMOUNT",
+ "210015": "TAG_LOG_BUFFER_SIZE_CRITICAL",
+ "210016": "TAG_PASSWORD_EXPIRATION_SET",
+ "210017": "TAG_PASSWORD_COMPLEXITY_SET",
+ "210018": "TAG_PASSWORD_HISTORY_LENGTH_SET",
+ "210019": "TAG_MAX_SCREEN_LOCK_TIMEOUT_SET",
+ "210020": "TAG_MAX_PASSWORD_ATTEMPTS_SET",
+ "210021": "TAG_KEYGUARD_DISABLED_FEATURES_SET",
+ "210022": "TAG_REMOTE_LOCK",
+ "210027": "TAG_USER_RESTRICTION_ADDED",
+ "210028": "TAG_USER_RESTRICTION_REMOVED",
+ "210023": "TAG_WIPE_FAILURE",
+ "210024": "TAG_KEY_GENERATED",
+ "210025": "TAG_KEY_IMPORT",
+ "210026": "TAG_KEY_DESTRUCTION",
+ "210029": "TAG_CERT_AUTHORITY_INSTALLED",
+ "210030": "TAG_CERT_AUTHORITY_REMOVED",
+ "210031": "TAG_CRYPTO_SELF_TEST_COMPLETED",
+ "210032": "TAG_KEY_INTEGRITY_VIOLATION",
+ "210033": "TAG_CERT_VALIDATION_FAILURE",
+ "210034": "TAG_CAMERA_POLICY_SET"
+ }
+ },
+ "android.app.admin.SystemUpdateInfo.SecurityPatchState": {
+ "flag": false,
+ "values": {
+ "1": "SECURITY_PATCH_STATE_FALSE",
+ "2": "SECURITY_PATCH_STATE_TRUE",
+ "0": "SECURITY_PATCH_STATE_UNKNOWN"
+ }
+ },
+ "android.app.admin.SystemUpdatePolicy.InstallationOption.InstallationOptionType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_INSTALL_AUTOMATIC",
+ "4": "TYPE_PAUSE",
+ "3": "TYPE_POSTPONE"
+ }
+ },
+ "android.app.admin.SystemUpdatePolicy.SystemUpdatePolicyType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_INSTALL_AUTOMATIC",
+ "2": "TYPE_INSTALL_WINDOWED",
+ "3": "TYPE_POSTPONE"
+ }
+ },
+ "android.app.admin.SystemUpdatePolicy.ValidationFailedException.ValidationFailureType": {
+ "flag": false,
+ "values": {
+ "0": "ERROR_NONE",
+ "2": "ERROR_DUPLICATE_OR_OVERLAP",
+ "3": "ERROR_NEW_FREEZE_PERIOD_TOO_LONG",
+ "4": "ERROR_NEW_FREEZE_PERIOD_TOO_CLOSE",
+ "5": "ERROR_COMBINED_FREEZE_PERIOD_TOO_LONG",
+ "6": "ERROR_COMBINED_FREEZE_PERIOD_TOO_CLOSE",
+ "1": "ERROR_UNKNOWN"
+ }
+ },
+ "android.app.backup.BackupManager.OperationType": {
+ "flag": false,
+ "values": {
+ "0": "BACKUP",
+ "1": "MIGRATION"
+ }
+ },
+ "android.app.compat.ChangeIdStateQuery.QueryType": {
+ "flag": false,
+ "values": {
+ "0": "QUERY_BY_PACKAGE_NAME",
+ "1": "QUERY_BY_UID"
+ }
+ },
+ "android.app.job.JobInfo.BackoffPolicy": {
+ "flag": false,
+ "values": {
+ "0": "BACKOFF_POLICY_LINEAR",
+ "1": "BACKOFF_POLICY_EXPONENTIAL"
+ }
+ },
+ "android.app.job.JobInfo.NetworkType": {
+ "flag": false,
+ "values": {
+ "0": "NETWORK_TYPE_NONE",
+ "1": "NETWORK_TYPE_ANY",
+ "2": "NETWORK_TYPE_UNMETERED",
+ "3": "NETWORK_TYPE_NOT_ROAMING",
+ "4": "NETWORK_TYPE_CELLULAR"
+ }
+ },
+ "android.app.job.JobInfo.TriggerContentUri.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_NOTIFY_FOR_DESCENDANTS"
+ }
+ },
+ "android.app.job.JobScheduler.Result": {
+ "flag": false,
+ "values": {
+ "0": "RESULT_FAILURE",
+ "1": "RESULT_SUCCESS"
+ }
+ },
+ "android.app.prediction.AppTargetEvent.ActionType": {
+ "flag": false,
+ "values": {
+ "1": "ACTION_LAUNCH",
+ "2": "ACTION_DISMISS",
+ "3": "ACTION_PIN",
+ "4": "ACTION_UNPIN"
+ }
+ },
+ "android.app.role.RoleManager.ManageHoldersFlags": {
+ "flag": true,
+ "values": {
+ "1": "MANAGE_HOLDERS_FLAG_DONT_KILL_APP"
+ }
+ },
+ "android.app.servertransaction.ActivityLifecycleItem.LifecycleState": {
+ "flag": false,
+ "values": {
+ "-1": "UNDEFINED",
+ "0": "PRE_ON_CREATE",
+ "1": "ON_CREATE",
+ "2": "ON_START",
+ "3": "ON_RESUME",
+ "4": "ON_PAUSE",
+ "5": "ON_STOP",
+ "6": "ON_DESTROY",
+ "7": "ON_RESTART"
+ }
+ },
+ "android.app.time.TimeZoneCapabilities.CapabilityState": {
+ "flag": false,
+ "values": {
+ "10": "CAPABILITY_NOT_SUPPORTED",
+ "20": "CAPABILITY_NOT_ALLOWED",
+ "30": "CAPABILITY_NOT_APPLICABLE",
+ "40": "CAPABILITY_POSSESSED"
+ }
+ },
+ "android.app.timezone.Callback.AsyncResultCode": {
+ "flag": false,
+ "values": {
+ "0": "SUCCESS",
+ "1": "ERROR_UNKNOWN_FAILURE",
+ "2": "ERROR_INSTALL_BAD_DISTRO_STRUCTURE",
+ "3": "ERROR_INSTALL_BAD_DISTRO_FORMAT_VERSION",
+ "4": "ERROR_INSTALL_RULES_TOO_OLD",
+ "5": "ERROR_INSTALL_VALIDATION_ERROR"
+ }
+ },
+ "android.app.timezone.RulesManager.ResultCode": {
+ "flag": false,
+ "values": {
+ "0": "SUCCESS",
+ "2": "ERROR_UNKNOWN_FAILURE",
+ "1": "ERROR_OPERATION_IN_PROGRESS"
+ }
+ },
+ "android.app.timezone.RulesState.DistroStatus": {
+ "flag": false,
+ "values": {
+ "0": "DISTRO_STATUS_UNKNOWN",
+ "1": "DISTRO_STATUS_NONE",
+ "2": "DISTRO_STATUS_INSTALLED"
+ }
+ },
+ "android.app.timezone.RulesState.StagedOperationType": {
+ "flag": false,
+ "values": {
+ "0": "STAGED_OPERATION_UNKNOWN",
+ "1": "STAGED_OPERATION_NONE",
+ "2": "STAGED_OPERATION_UNINSTALL",
+ "3": "STAGED_OPERATION_INSTALL"
+ }
+ },
+ "android.app.timezonedetector.TelephonyTimeZoneSuggestion.MatchType": {
+ "flag": false,
+ "values": {
+ "0": "MATCH_TYPE_NA",
+ "2": "MATCH_TYPE_NETWORK_COUNTRY_ONLY",
+ "3": "MATCH_TYPE_NETWORK_COUNTRY_AND_OFFSET",
+ "4": "MATCH_TYPE_EMULATOR_ZONE_ID",
+ "5": "MATCH_TYPE_TEST_NETWORK_OFFSET_ONLY"
+ }
+ },
+ "android.app.timezonedetector.TelephonyTimeZoneSuggestion.Quality": {
+ "flag": false,
+ "values": {
+ "0": "QUALITY_NA",
+ "1": "QUALITY_SINGLE_ZONE",
+ "2": "QUALITY_MULTIPLE_ZONES_WITH_SAME_OFFSET",
+ "3": "QUALITY_MULTIPLE_ZONES_WITH_DIFFERENT_OFFSETS"
+ }
+ },
+ "android.app.usage.NetworkStats.Bucket.DefaultNetworkStatus": {
+ "flag": false,
+ "values": {
+ "-1": "DEFAULT_NETWORK_ALL",
+ "1": "DEFAULT_NETWORK_NO",
+ "2": "DEFAULT_NETWORK_YES"
+ }
+ },
+ "android.app.usage.NetworkStats.Bucket.Metered": {
+ "flag": false,
+ "values": {
+ "-1": "METERED_ALL",
+ "1": "METERED_NO",
+ "2": "METERED_YES"
+ }
+ },
+ "android.app.usage.NetworkStats.Bucket.Roaming": {
+ "flag": false,
+ "values": {
+ "-1": "ROAMING_ALL",
+ "1": "ROAMING_NO",
+ "2": "ROAMING_YES"
+ }
+ },
+ "android.app.usage.NetworkStats.Bucket.State": {
+ "flag": false,
+ "values": {
+ "-1": "STATE_ALL",
+ "1": "STATE_DEFAULT",
+ "2": "STATE_FOREGROUND"
+ }
+ },
+ "android.app.usage.UsageEvents.Event.EventFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_IS_PACKAGE_INSTANT_APP"
+ }
+ },
+ "android.app.usage.UsageStatsManager.StandbyBuckets": {
+ "flag": false,
+ "values": {
+ "5": "STANDBY_BUCKET_EXEMPTED",
+ "10": "STANDBY_BUCKET_ACTIVE",
+ "20": "STANDBY_BUCKET_WORKING_SET",
+ "30": "STANDBY_BUCKET_FREQUENT",
+ "40": "STANDBY_BUCKET_RARE",
+ "45": "STANDBY_BUCKET_RESTRICTED",
+ "50": "STANDBY_BUCKET_NEVER"
+ }
+ },
+ "android.app.usage.UsageStatsManager.SystemForcedReasons": {
+ "flag": true,
+ "values": {
+ "0": "REASON_SUB_FORCED_SYSTEM_FLAG_UNDEFINED",
+ "1": "REASON_SUB_FORCED_SYSTEM_FLAG_BACKGROUND_RESOURCE_USAGE",
+ "2": "REASON_SUB_FORCED_SYSTEM_FLAG_ABUSE",
+ "4": "REASON_SUB_FORCED_SYSTEM_FLAG_BUGGY"
+ }
+ },
+ "android.app.usage.UsageStatsManager.UsageSource": {
+ "flag": false,
+ "values": {
+ "1": "USAGE_SOURCE_TASK_ROOT_ACTIVITY",
+ "2": "USAGE_SOURCE_CURRENT_ACTIVITY"
+ }
+ },
+ "android.appwidget.AppWidgetProviderInfo.CategoryFlags": {
+ "flag": true,
+ "values": {
+ "1": "WIDGET_CATEGORY_HOME_SCREEN",
+ "2": "WIDGET_CATEGORY_KEYGUARD",
+ "4": "WIDGET_CATEGORY_SEARCHBOX"
+ }
+ },
+ "android.appwidget.AppWidgetProviderInfo.FeatureFlags": {
+ "flag": true,
+ "values": {
+ "1": "WIDGET_FEATURE_RECONFIGURABLE",
+ "2": "WIDGET_FEATURE_HIDE_FROM_PICKER"
+ }
+ },
+ "android.appwidget.AppWidgetProviderInfo.ResizeModeFlags": {
+ "flag": true,
+ "values": {
+ "1": "RESIZE_HORIZONTAL",
+ "2": "RESIZE_VERTICAL"
+ }
+ },
+ "android.bluetooth.BluetoothA2dp.OptionalCodecsPreferenceStatus": {
+ "flag": false,
+ "values": {
+ "-1": "OPTIONAL_CODECS_PREF_UNKNOWN",
+ "0": "OPTIONAL_CODECS_PREF_DISABLED",
+ "1": "OPTIONAL_CODECS_PREF_ENABLED"
+ }
+ },
+ "android.bluetooth.BluetoothA2dp.OptionalCodecsSupportStatus": {
+ "flag": false,
+ "values": {
+ "-1": "OPTIONAL_CODECS_SUPPORT_UNKNOWN",
+ "0": "OPTIONAL_CODECS_NOT_SUPPORTED",
+ "1": "OPTIONAL_CODECS_SUPPORTED"
+ }
+ },
+ "android.bluetooth.BluetoothAdapter.ActiveDeviceUse": {
+ "flag": false,
+ "values": {
+ "0": "ACTIVE_DEVICE_AUDIO",
+ "1": "ACTIVE_DEVICE_PHONE_CALL",
+ "2": "ACTIVE_DEVICE_ALL"
+ }
+ },
+ "android.bluetooth.BluetoothAdapter.AdapterState": {
+ "flag": false,
+ "values": {
+ "10": "STATE_OFF",
+ "11": "STATE_TURNING_ON",
+ "12": "STATE_ON",
+ "13": "STATE_TURNING_OFF",
+ "14": "STATE_BLE_TURNING_ON",
+ "15": "STATE_BLE_ON",
+ "16": "STATE_BLE_TURNING_OFF"
+ }
+ },
+ "android.bluetooth.BluetoothAdapter.IoCapability": {
+ "flag": false,
+ "values": {
+ "0": "IO_CAPABILITY_OUT",
+ "1": "IO_CAPABILITY_IO",
+ "2": "IO_CAPABILITY_IN",
+ "3": "IO_CAPABILITY_NONE",
+ "4": "IO_CAPABILITY_KBDISP"
+ }
+ },
+ "android.bluetooth.BluetoothAdapter.ScanMode": {
+ "flag": false,
+ "values": {
+ "20": "SCAN_MODE_NONE",
+ "21": "SCAN_MODE_CONNECTABLE",
+ "23": "SCAN_MODE_CONNECTABLE_DISCOVERABLE"
+ }
+ },
+ "android.bluetooth.BluetoothCodecConfig.BitsPerSample": {
+ "flag": false,
+ "values": {
+ "0": "BITS_PER_SAMPLE_NONE",
+ "1": "BITS_PER_SAMPLE_16",
+ "2": "BITS_PER_SAMPLE_24",
+ "4": "BITS_PER_SAMPLE_32"
+ }
+ },
+ "android.bluetooth.BluetoothCodecConfig.ChannelMode": {
+ "flag": false,
+ "values": {
+ "0": "CHANNEL_MODE_NONE",
+ "1": "CHANNEL_MODE_MONO",
+ "2": "CHANNEL_MODE_STEREO"
+ }
+ },
+ "android.bluetooth.BluetoothCodecConfig.CodecPriority": {
+ "flag": false,
+ "values": {
+ "-1": "CODEC_PRIORITY_DISABLED",
+ "0": "CODEC_PRIORITY_DEFAULT",
+ "1000000": "CODEC_PRIORITY_HIGHEST"
+ }
+ },
+ "android.bluetooth.BluetoothCodecConfig.SampleRate": {
+ "flag": false,
+ "values": {
+ "0": "SAMPLE_RATE_NONE",
+ "1": "SAMPLE_RATE_44100",
+ "2": "SAMPLE_RATE_48000",
+ "4": "SAMPLE_RATE_88200",
+ "8": "SAMPLE_RATE_96000",
+ "16": "SAMPLE_RATE_176400",
+ "32": "SAMPLE_RATE_192000"
+ }
+ },
+ "android.bluetooth.BluetoothCodecConfig.SourceCodecType": {
+ "flag": false,
+ "values": {
+ "0": "SOURCE_CODEC_TYPE_SBC",
+ "1": "SOURCE_CODEC_TYPE_AAC",
+ "2": "SOURCE_CODEC_TYPE_APTX",
+ "3": "SOURCE_CODEC_TYPE_APTX_HD",
+ "4": "SOURCE_CODEC_TYPE_LDAC",
+ "5": "SOURCE_CODEC_TYPE_MAX",
+ "1000000": "SOURCE_CODEC_TYPE_INVALID"
+ }
+ },
+ "android.bluetooth.BluetoothDevice.AccessPermission": {
+ "flag": false,
+ "values": {
+ "0": "ACCESS_UNKNOWN",
+ "1": "ACCESS_ALLOWED",
+ "2": "ACCESS_REJECTED"
+ }
+ },
+ "android.bluetooth.BluetoothPan.LocalPanRole": {
+ "flag": false,
+ "values": {
+ "0": "PAN_ROLE_NONE",
+ "1": "LOCAL_NAP_ROLE",
+ "2": "LOCAL_PANU_ROLE"
+ }
+ },
+ "android.bluetooth.BluetoothPan.RemotePanRole": {
+ "flag": false,
+ "values": {
+ "0": "PAN_ROLE_NONE",
+ "1": "REMOTE_NAP_ROLE",
+ "2": "REMOTE_PANU_ROLE"
+ }
+ },
+ "android.bluetooth.BluetoothPan.TetheringState": {
+ "flag": false,
+ "values": {
+ "1": "TETHERING_STATE_OFF",
+ "2": "TETHERING_STATE_ON"
+ }
+ },
+ "android.bluetooth.BluetoothProfile.BtProfileState": {
+ "flag": false,
+ "values": {
+ "0": "STATE_DISCONNECTED",
+ "1": "STATE_CONNECTING",
+ "2": "STATE_CONNECTED",
+ "3": "STATE_DISCONNECTING"
+ }
+ },
+ "android.bluetooth.BluetoothProfile.ConnectionPolicy": {
+ "flag": false,
+ "values": {
+ "100": "CONNECTION_POLICY_ALLOWED",
+ "0": "CONNECTION_POLICY_FORBIDDEN",
+ "-1": "CONNECTION_POLICY_UNKNOWN"
+ }
+ },
+ "android.companion.DeviceFilter.MediumType": {
+ "flag": false,
+ "values": {
+ "0": "MEDIUM_TYPE_BLUETOOTH",
+ "1": "MEDIUM_TYPE_BLUETOOTH_LE",
+ "2": "MEDIUM_TYPE_WIFI"
+ }
+ },
+ "android.content.ComponentCallbacks2.TrimMemoryLevel": {
+ "flag": false,
+ "values": {
+ "80": "TRIM_MEMORY_COMPLETE",
+ "60": "TRIM_MEMORY_MODERATE",
+ "40": "TRIM_MEMORY_BACKGROUND",
+ "20": "TRIM_MEMORY_UI_HIDDEN",
+ "15": "TRIM_MEMORY_RUNNING_CRITICAL",
+ "10": "TRIM_MEMORY_RUNNING_LOW",
+ "5": "TRIM_MEMORY_RUNNING_MODERATE"
+ }
+ },
+ "android.content.ContentResolver.NotifyFlags": {
+ "flag": true,
+ "values": {
+ "1": "NOTIFY_SYNC_TO_NETWORK",
+ "2": "NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS",
+ "4": "NOTIFY_INSERT",
+ "8": "NOTIFY_UPDATE",
+ "16": "NOTIFY_DELETE"
+ }
+ },
+ "android.content.ContentResolver.QueryCollator": {
+ "flag": false,
+ "values": {
+ "0": "PRIMARY",
+ "1": "SECONDARY",
+ "2": "TERTIARY",
+ "3": "IDENTICAL"
+ }
+ },
+ "android.content.ContentResolver.SortDirection": {
+ "flag": false,
+ "values": {
+ "0": "QUERY_SORT_DIRECTION_ASCENDING",
+ "1": "QUERY_SORT_DIRECTION_DESCENDING"
+ }
+ },
+ "android.content.ContentResolver.SyncExemption": {
+ "flag": false,
+ "values": {
+ "0": "SYNC_EXEMPTION_NONE",
+ "1": "SYNC_EXEMPTION_PROMOTE_BUCKET",
+ "2": "SYNC_EXEMPTION_PROMOTE_BUCKET_WITH_TEMP"
+ }
+ },
+ "android.content.Context.BindServiceFlags": {
+ "flag": true,
+ "values": {
+ "1": "BIND_AUTO_CREATE",
+ "2": "BIND_DEBUG_UNBIND",
+ "4": "BIND_NOT_FOREGROUND",
+ "8": "BIND_ABOVE_CLIENT",
+ "16": "BIND_ALLOW_OOM_MANAGEMENT",
+ "32": "BIND_WAIVE_PRIORITY",
+ "64": "BIND_IMPORTANT",
+ "128": "BIND_ADJUST_WITH_ACTIVITY",
+ "256": "BIND_NOT_PERCEPTIBLE",
+ "4096": "BIND_INCLUDE_CAPABILITIES"
+ }
+ },
+ "android.content.Context.CreatePackageOptions": {
+ "flag": true,
+ "values": {
+ "1": "CONTEXT_INCLUDE_CODE",
+ "2": "CONTEXT_IGNORE_SECURITY",
+ "4": "CONTEXT_RESTRICTED",
+ "8": "CONTEXT_DEVICE_PROTECTED_STORAGE",
+ "16": "CONTEXT_CREDENTIAL_PROTECTED_STORAGE",
+ "1073741824": "CONTEXT_REGISTER_PACKAGE"
+ }
+ },
+ "android.content.Context.DatabaseMode": {
+ "flag": true,
+ "values": {
+ "0": "MODE_PRIVATE",
+ "1": "MODE_WORLD_READABLE",
+ "2": "MODE_WORLD_WRITEABLE",
+ "8": "MODE_ENABLE_WRITE_AHEAD_LOGGING",
+ "16": "MODE_NO_LOCALIZED_COLLATORS"
+ }
+ },
+ "android.content.Context.FileMode": {
+ "flag": true,
+ "values": {
+ "0": "MODE_PRIVATE",
+ "1": "MODE_WORLD_READABLE",
+ "2": "MODE_WORLD_WRITEABLE",
+ "32768": "MODE_APPEND"
+ }
+ },
+ "android.content.Context.PreferencesMode": {
+ "flag": true,
+ "values": {
+ "0": "MODE_PRIVATE",
+ "1": "MODE_WORLD_READABLE",
+ "2": "MODE_WORLD_WRITEABLE",
+ "4": "MODE_MULTI_PROCESS"
+ }
+ },
+ "android.content.Context.RegisterReceiverFlags": {
+ "flag": true,
+ "values": {
+ "1": "RECEIVER_VISIBLE_TO_INSTANT_APPS"
+ }
+ },
+ "android.content.Intent.AccessUriMode": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_GRANT_READ_URI_PERMISSION",
+ "2": "FLAG_GRANT_WRITE_URI_PERMISSION"
+ }
+ },
+ "android.content.Intent.CopyMode": {
+ "flag": false,
+ "values": {
+ "0": "COPY_MODE_ALL",
+ "1": "COPY_MODE_FILTER",
+ "2": "COPY_MODE_HISTORY"
+ }
+ },
+ "android.content.Intent.FillInFlags": {
+ "flag": true,
+ "values": {
+ "1": "FILL_IN_ACTION",
+ "2": "FILL_IN_DATA",
+ "4": "FILL_IN_CATEGORIES",
+ "8": "FILL_IN_COMPONENT",
+ "16": "FILL_IN_PACKAGE",
+ "32": "FILL_IN_SOURCE_BOUNDS",
+ "64": "FILL_IN_SELECTOR",
+ "128": "FILL_IN_CLIP_DATA"
+ }
+ },
+ "android.content.Intent.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_GRANT_READ_URI_PERMISSION",
+ "2": "FLAG_GRANT_WRITE_URI_PERMISSION",
+ "4": "FLAG_FROM_BACKGROUND",
+ "8": "FLAG_DEBUG_LOG_RESOLUTION",
+ "16": "FLAG_EXCLUDE_STOPPED_PACKAGES",
+ "32": "FLAG_INCLUDE_STOPPED_PACKAGES",
+ "64": "FLAG_GRANT_PERSISTABLE_URI_PERMISSION",
+ "128": "FLAG_GRANT_PREFIX_URI_PERMISSION",
+ "256": "FLAG_DEBUG_TRIAGED_MISSING",
+ "512": "FLAG_ACTIVITY_REQUIRE_DEFAULT",
+ "2048": "FLAG_ACTIVITY_MATCH_EXTERNAL",
+ "1073741824": "FLAG_RECEIVER_REGISTERED_ONLY",
+ "536870912": "FLAG_RECEIVER_REPLACE_PENDING",
+ "268435456": "FLAG_RECEIVER_FOREGROUND",
+ "134217728": "FLAG_RECEIVER_NO_ABORT",
+ "67108864": "FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT",
+ "33554432": "FLAG_RECEIVER_BOOT_UPGRADE",
+ "16777216": "FLAG_RECEIVER_INCLUDE_BACKGROUND",
+ "8388608": "FLAG_RECEIVER_EXCLUDE_BACKGROUND",
+ "4194304": "FLAG_RECEIVER_FROM_SHELL",
+ "2097152": "FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS",
+ "1048576": "FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY",
+ "524288": "FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET",
+ "262144": "FLAG_ACTIVITY_NO_USER_ACTION",
+ "131072": "FLAG_ACTIVITY_REORDER_TO_FRONT",
+ "65536": "FLAG_ACTIVITY_NO_ANIMATION",
+ "32768": "FLAG_ACTIVITY_CLEAR_TASK",
+ "16384": "FLAG_ACTIVITY_TASK_ON_HOME",
+ "8192": "FLAG_ACTIVITY_RETAIN_IN_RECENTS",
+ "4096": "FLAG_ACTIVITY_LAUNCH_ADJACENT",
+ "1024": "FLAG_ACTIVITY_REQUIRE_NON_BROWSER",
+ "-2147483648": "FLAG_RECEIVER_OFFLOAD"
+ }
+ },
+ "android.content.Intent.GrantUriMode": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_GRANT_READ_URI_PERMISSION",
+ "2": "FLAG_GRANT_WRITE_URI_PERMISSION",
+ "64": "FLAG_GRANT_PERSISTABLE_URI_PERMISSION",
+ "128": "FLAG_GRANT_PREFIX_URI_PERMISSION"
+ }
+ },
+ "android.content.Intent.MutableFlags": {
+ "flag": true,
+ "values": {
+ "4": "FLAG_FROM_BACKGROUND",
+ "8": "FLAG_DEBUG_LOG_RESOLUTION",
+ "16": "FLAG_EXCLUDE_STOPPED_PACKAGES",
+ "32": "FLAG_INCLUDE_STOPPED_PACKAGES",
+ "256": "FLAG_DEBUG_TRIAGED_MISSING",
+ "512": "FLAG_IGNORE_EPHEMERAL",
+ "2048": "FLAG_ACTIVITY_MATCH_EXTERNAL",
+ "1073741824": "FLAG_RECEIVER_REGISTERED_ONLY",
+ "536870912": "FLAG_RECEIVER_REPLACE_PENDING",
+ "268435456": "FLAG_RECEIVER_FOREGROUND",
+ "134217728": "FLAG_RECEIVER_NO_ABORT",
+ "67108864": "FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT",
+ "33554432": "FLAG_RECEIVER_BOOT_UPGRADE",
+ "16777216": "FLAG_RECEIVER_INCLUDE_BACKGROUND",
+ "8388608": "FLAG_RECEIVER_EXCLUDE_BACKGROUND",
+ "4194304": "FLAG_RECEIVER_FROM_SHELL",
+ "2097152": "FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS",
+ "1048576": "FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY",
+ "524288": "FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET",
+ "262144": "FLAG_ACTIVITY_NO_USER_ACTION",
+ "131072": "FLAG_ACTIVITY_REORDER_TO_FRONT",
+ "65536": "FLAG_ACTIVITY_NO_ANIMATION",
+ "32768": "FLAG_ACTIVITY_CLEAR_TASK",
+ "16384": "FLAG_ACTIVITY_TASK_ON_HOME",
+ "8192": "FLAG_ACTIVITY_RETAIN_IN_RECENTS",
+ "4096": "FLAG_ACTIVITY_LAUNCH_ADJACENT",
+ "-2147483648": "FLAG_RECEIVER_OFFLOAD"
+ }
+ },
+ "android.content.Intent.UriFlags": {
+ "flag": true,
+ "values": {
+ "4": "URI_ALLOW_UNSAFE",
+ "2": "URI_ANDROID_APP_SCHEME",
+ "1": "URI_INTENT_SCHEME"
+ }
+ },
+ "android.content.IntentFilter.InstantAppVisibility": {
+ "flag": false,
+ "values": {
+ "0": "VISIBILITY_NONE",
+ "1": "VISIBILITY_EXPLICIT",
+ "2": "VISIBILITY_IMPLICIT"
+ }
+ },
+ "android.content.PermissionChecker.PermissionResult": {
+ "flag": false,
+ "values": {
+ "0": "PERMISSION_GRANTED",
+ "-2": "PERMISSION_SOFT_DENIED",
+ "-1": "PERMISSION_HARD_DENIED"
+ }
+ },
+ "android.content.integrity.AtomicFormula.Key": {
+ "flag": false,
+ "values": {
+ "0": "PACKAGE_NAME",
+ "1": "APP_CERTIFICATE",
+ "2": "INSTALLER_NAME",
+ "3": "INSTALLER_CERTIFICATE",
+ "4": "VERSION_CODE",
+ "5": "PRE_INSTALLED",
+ "6": "STAMP_TRUSTED",
+ "7": "STAMP_CERTIFICATE_HASH"
+ }
+ },
+ "android.content.integrity.AtomicFormula.Operator": {
+ "flag": false,
+ "values": {
+ "0": "EQ",
+ "1": "GT",
+ "2": "GTE"
+ }
+ },
+ "android.content.integrity.CompoundFormula.Connector": {
+ "flag": false,
+ "values": {
+ "0": "AND",
+ "1": "OR",
+ "2": "NOT"
+ }
+ },
+ "android.content.integrity.IntegrityFormula.Tag": {
+ "flag": false,
+ "values": {
+ "0": "COMPOUND_FORMULA_TAG",
+ "1": "STRING_ATOMIC_FORMULA_TAG",
+ "2": "LONG_ATOMIC_FORMULA_TAG",
+ "3": "BOOLEAN_ATOMIC_FORMULA_TAG",
+ "4": "INSTALLER_ALLOWED_BY_MANIFEST_FORMULA_TAG"
+ }
+ },
+ "android.content.integrity.Rule.Effect": {
+ "flag": false,
+ "values": {
+ "0": "DENY",
+ "1": "FORCE_ALLOW"
+ }
+ },
+ "android.content.om.OverlayInfo.State": {
+ "flag": false,
+ "values": {
+ "-1": "STATE_UNKNOWN",
+ "0": "STATE_MISSING_TARGET",
+ "1": "STATE_NO_IDMAP",
+ "2": "STATE_DISABLED",
+ "3": "STATE_ENABLED",
+ "6": "STATE_ENABLED_IMMUTABLE",
+ "5": "STATE_OVERLAY_IS_BEING_REPLACED"
+ }
+ },
+ "android.content.pm.ActivityInfo.ColorMode": {
+ "flag": false,
+ "values": {
+ "0": "COLOR_MODE_DEFAULT",
+ "1": "COLOR_MODE_WIDE_COLOR_GAMUT",
+ "2": "COLOR_MODE_HDR"
+ }
+ },
+ "android.content.pm.ActivityInfo.Config": {
+ "flag": true,
+ "values": {
+ "1": "CONFIG_MCC",
+ "2": "CONFIG_MNC",
+ "4": "CONFIG_LOCALE",
+ "8": "CONFIG_TOUCHSCREEN",
+ "16": "CONFIG_KEYBOARD",
+ "32": "CONFIG_KEYBOARD_HIDDEN",
+ "64": "CONFIG_NAVIGATION",
+ "128": "CONFIG_ORIENTATION",
+ "256": "CONFIG_SCREEN_LAYOUT",
+ "512": "CONFIG_UI_MODE",
+ "1024": "CONFIG_SCREEN_SIZE",
+ "2048": "CONFIG_SMALLEST_SCREEN_SIZE",
+ "4096": "CONFIG_DENSITY",
+ "8192": "CONFIG_LAYOUT_DIRECTION",
+ "16384": "CONFIG_COLOR_MODE",
+ "1073741824": "CONFIG_FONT_SCALE"
+ }
+ },
+ "android.content.pm.ActivityInfo.ScreenOrientation": {
+ "flag": false,
+ "values": {
+ "-2": "SCREEN_ORIENTATION_UNSET",
+ "-1": "SCREEN_ORIENTATION_UNSPECIFIED",
+ "0": "SCREEN_ORIENTATION_LANDSCAPE",
+ "1": "SCREEN_ORIENTATION_PORTRAIT",
+ "2": "SCREEN_ORIENTATION_USER",
+ "3": "SCREEN_ORIENTATION_BEHIND",
+ "4": "SCREEN_ORIENTATION_SENSOR",
+ "5": "SCREEN_ORIENTATION_NOSENSOR",
+ "6": "SCREEN_ORIENTATION_SENSOR_LANDSCAPE",
+ "7": "SCREEN_ORIENTATION_SENSOR_PORTRAIT",
+ "8": "SCREEN_ORIENTATION_REVERSE_LANDSCAPE",
+ "9": "SCREEN_ORIENTATION_REVERSE_PORTRAIT",
+ "10": "SCREEN_ORIENTATION_FULL_SENSOR",
+ "11": "SCREEN_ORIENTATION_USER_LANDSCAPE",
+ "12": "SCREEN_ORIENTATION_USER_PORTRAIT",
+ "13": "SCREEN_ORIENTATION_FULL_USER",
+ "14": "SCREEN_ORIENTATION_LOCKED"
+ }
+ },
+ "android.content.pm.ApplicationInfo.ApplicationInfoPrivateFlags": {
+ "flag": true,
+ "values": {
+ "1024": "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE",
+ "4096": "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION",
+ "2048": "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE",
+ "8192": "PRIVATE_FLAG_BACKUP_IN_FOREGROUND",
+ "2": "PRIVATE_FLAG_CANT_SAVE_STATE",
+ "32": "PRIVATE_FLAG_DEFAULT_TO_DEVICE_PROTECTED_STORAGE",
+ "64": "PRIVATE_FLAG_DIRECT_BOOT_AWARE",
+ "16": "PRIVATE_FLAG_HAS_DOMAIN_URLS",
+ "1": "PRIVATE_FLAG_HIDDEN",
+ "128": "PRIVATE_FLAG_INSTANT",
+ "268435456": "PRIVATE_FLAG_IS_RESOURCE_OVERLAY",
+ "32768": "PRIVATE_FLAG_ISOLATED_SPLIT_LOADING",
+ "131072": "PRIVATE_FLAG_OEM",
+ "256": "PRIVATE_FLAG_PARTIALLY_DIRECT_BOOT_AWARE",
+ "33554432": "PRIVATE_FLAG_USE_EMBEDDED_DEX",
+ "8": "PRIVATE_FLAG_PRIVILEGED",
+ "524288": "PRIVATE_FLAG_PRODUCT",
+ "2097152": "PRIVATE_FLAG_SYSTEM_EXT",
+ "8388608": "PRIVATE_FLAG_PROFILEABLE_BY_SHELL",
+ "512": "PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER",
+ "1048576": "PRIVATE_FLAG_SIGNED_WITH_PLATFORM_KEY",
+ "16384": "PRIVATE_FLAG_STATIC_SHARED_LIBRARY",
+ "262144": "PRIVATE_FLAG_VENDOR",
+ "65536": "PRIVATE_FLAG_VIRTUAL_PRELOAD",
+ "16777216": "PRIVATE_FLAG_HAS_FRAGILE_USER_DATA",
+ "67108864": "PRIVATE_FLAG_ALLOW_CLEAR_USER_DATA_ON_FAILED_RESTORE",
+ "134217728": "PRIVATE_FLAG_ALLOW_AUDIO_PLAYBACK_CAPTURE",
+ "536870912": "PRIVATE_FLAG_REQUEST_LEGACY_EXTERNAL_STORAGE",
+ "1073741824": "PRIVATE_FLAG_ODM",
+ "-2147483648": "PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING"
+ }
+ },
+ "android.content.pm.ApplicationInfo.Category": {
+ "flag": false,
+ "values": {
+ "-1": "CATEGORY_UNDEFINED",
+ "0": "CATEGORY_GAME",
+ "1": "CATEGORY_AUDIO",
+ "2": "CATEGORY_VIDEO",
+ "3": "CATEGORY_IMAGE",
+ "4": "CATEGORY_SOCIAL",
+ "5": "CATEGORY_NEWS",
+ "6": "CATEGORY_MAPS",
+ "7": "CATEGORY_PRODUCTIVITY"
+ }
+ },
+ "android.content.pm.ApplicationInfo.GwpAsanMode": {
+ "flag": false,
+ "values": {
+ "-1": "GWP_ASAN_DEFAULT",
+ "0": "GWP_ASAN_NEVER",
+ "1": "GWP_ASAN_ALWAYS"
+ }
+ },
+ "android.content.pm.ApplicationInfo.HiddenApiEnforcementPolicy": {
+ "flag": false,
+ "values": {
+ "-1": "HIDDEN_API_ENFORCEMENT_DEFAULT",
+ "0": "HIDDEN_API_ENFORCEMENT_DISABLED",
+ "1": "HIDDEN_API_ENFORCEMENT_JUST_WARN",
+ "2": "HIDDEN_API_ENFORCEMENT_ENABLED"
+ }
+ },
+ "android.content.pm.Checksum.Type": {
+ "flag": true,
+ "values": {
+ "1": "TYPE_WHOLE_MERKLE_ROOT_4K_SHA256",
+ "2": "TYPE_WHOLE_MD5",
+ "4": "TYPE_WHOLE_SHA1",
+ "8": "TYPE_WHOLE_SHA256",
+ "16": "TYPE_WHOLE_SHA512",
+ "32": "TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256",
+ "64": "TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512"
+ }
+ },
+ "android.content.pm.LauncherApps.PinItemRequest.RequestType": {
+ "flag": false,
+ "values": {
+ "1": "REQUEST_TYPE_SHORTCUT",
+ "2": "REQUEST_TYPE_APPWIDGET"
+ }
+ },
+ "android.content.pm.LauncherApps.ShortcutCacheFlags": {
+ "flag": false,
+ "values": {
+ "0": "FLAG_CACHE_NOTIFICATION_SHORTCUTS",
+ "1": "FLAG_CACHE_BUBBLE_SHORTCUTS"
+ }
+ },
+ "android.content.pm.LauncherApps.ShortcutQuery.QueryFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_MATCH_DYNAMIC",
+ "2": "FLAG_MATCH_PINNED",
+ "8": "FLAG_MATCH_MANIFEST",
+ "16": "FLAG_MATCH_CACHED",
+ "4": "FLAG_GET_KEY_FIELDS_ONLY",
+ "2048": "FLAG_GET_PERSONS_DATA"
+ }
+ },
+ "android.content.pm.PackageInstaller.FileLocation": {
+ "flag": false,
+ "values": {
+ "0": "LOCATION_DATA_APP",
+ "1": "LOCATION_MEDIA_OBB",
+ "2": "LOCATION_MEDIA_DATA"
+ }
+ },
+ "android.content.pm.PackageInstaller.SessionInfo.StagedSessionErrorCode": {
+ "flag": false,
+ "values": {
+ "0": "STAGED_SESSION_NO_ERROR",
+ "1": "STAGED_SESSION_VERIFICATION_FAILED",
+ "2": "STAGED_SESSION_ACTIVATION_FAILED",
+ "3": "STAGED_SESSION_UNKNOWN",
+ "4": "STAGED_SESSION_CONFLICT"
+ }
+ },
+ "android.content.pm.PackageManager.ApplicationInfoFlags": {
+ "flag": true,
+ "values": {
+ "128": "GET_META_DATA",
+ "1024": "GET_SHARED_LIBRARY_FILES",
+ "8192": "GET_UNINSTALLED_PACKAGES",
+ "1048576": "MATCH_SYSTEM_ONLY",
+ "268435456": "MATCH_DEBUG_TRIAGED_MISSING",
+ "512": "MATCH_DISABLED_COMPONENTS",
+ "32768": "GET_DISABLED_UNTIL_USED_COMPONENTS",
+ "8388608": "MATCH_INSTANT",
+ "67108864": "MATCH_STATIC_SHARED_LIBRARIES",
+ "536870912": "MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS",
+ "1073741824": "MATCH_APEX"
+ }
+ },
+ "android.content.pm.PackageManager.CertificateInputType": {
+ "flag": false,
+ "values": {
+ "0": "CERT_INPUT_RAW_X509",
+ "1": "CERT_INPUT_SHA256"
+ }
+ },
+ "android.content.pm.PackageManager.ComponentInfoFlags": {
+ "flag": true,
+ "values": {
+ "128": "GET_META_DATA",
+ "1024": "GET_SHARED_LIBRARY_FILES",
+ "131072": "MATCH_ALL",
+ "268435456": "MATCH_DIRECT_BOOT_AUTO",
+ "65536": "MATCH_DEFAULT_ONLY",
+ "512": "GET_DISABLED_COMPONENTS",
+ "32768": "GET_DISABLED_UNTIL_USED_COMPONENTS",
+ "524288": "MATCH_DIRECT_BOOT_AWARE",
+ "262144": "MATCH_DIRECT_BOOT_UNAWARE",
+ "1048576": "MATCH_SYSTEM_ONLY",
+ "8192": "GET_UNINSTALLED_PACKAGES",
+ "8388608": "MATCH_INSTANT",
+ "67108864": "MATCH_STATIC_SHARED_LIBRARIES"
+ }
+ },
+ "android.content.pm.PackageManager.ComponentType": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_UNKNOWN",
+ "1": "TYPE_ACTIVITY",
+ "2": "TYPE_RECEIVER",
+ "3": "TYPE_SERVICE",
+ "4": "TYPE_PROVIDER"
+ }
+ },
+ "android.content.pm.PackageManager.DeleteFlags": {
+ "flag": true,
+ "values": {
+ "1": "DELETE_KEEP_DATA",
+ "2": "DELETE_ALL_USERS",
+ "4": "DELETE_SYSTEM_APP",
+ "8": "DELETE_DONT_KILL_APP",
+ "-2147483648": "DELETE_CHATTY"
+ }
+ },
+ "android.content.pm.PackageManager.DistractionRestriction": {
+ "flag": true,
+ "values": {
+ "0": "RESTRICTION_NONE",
+ "1": "RESTRICTION_HIDE_FROM_SUGGESTIONS",
+ "2": "RESTRICTION_HIDE_NOTIFICATIONS"
+ }
+ },
+ "android.content.pm.PackageManager.EnabledFlags": {
+ "flag": true,
+ "values": {
+ "1": "DONT_KILL_APP",
+ "2": "SYNCHRONOUS"
+ }
+ },
+ "android.content.pm.PackageManager.EnabledState": {
+ "flag": false,
+ "values": {
+ "0": "COMPONENT_ENABLED_STATE_DEFAULT",
+ "1": "COMPONENT_ENABLED_STATE_ENABLED",
+ "2": "COMPONENT_ENABLED_STATE_DISABLED",
+ "3": "COMPONENT_ENABLED_STATE_DISABLED_USER",
+ "4": "COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED"
+ }
+ },
+ "android.content.pm.PackageManager.InstallFlags": {
+ "flag": true,
+ "values": {
+ "2": "INSTALL_REPLACE_EXISTING",
+ "4": "INSTALL_ALLOW_TEST",
+ "16": "INSTALL_INTERNAL",
+ "32": "INSTALL_FROM_ADB",
+ "64": "INSTALL_ALL_USERS",
+ "128": "INSTALL_REQUEST_DOWNGRADE",
+ "256": "INSTALL_GRANT_RUNTIME_PERMISSIONS",
+ "4194304": "INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS",
+ "512": "INSTALL_FORCE_VOLUME_UUID",
+ "1024": "INSTALL_FORCE_PERMISSION_PROMPT",
+ "2048": "INSTALL_INSTANT_APP",
+ "4096": "INSTALL_DONT_KILL_APP",
+ "16384": "INSTALL_FULL_APP",
+ "32768": "INSTALL_ALLOCATE_AGGRESSIVE",
+ "65536": "INSTALL_VIRTUAL_PRELOAD",
+ "131072": "INSTALL_APEX",
+ "262144": "INSTALL_ENABLE_ROLLBACK",
+ "1048576": "INSTALL_ALLOW_DOWNGRADE",
+ "2097152": "INSTALL_STAGED"
+ }
+ },
+ "android.content.pm.PackageManager.InstallReason": {
+ "flag": false,
+ "values": {
+ "0": "INSTALL_REASON_UNKNOWN",
+ "1": "INSTALL_REASON_POLICY",
+ "2": "INSTALL_REASON_DEVICE_RESTORE",
+ "3": "INSTALL_REASON_DEVICE_SETUP",
+ "4": "INSTALL_REASON_USER",
+ "5": "INSTALL_REASON_ROLLBACK"
+ }
+ },
+ "android.content.pm.PackageManager.InstalledModulesFlags": {
+ "flag": true,
+ "values": {
+ "131072": "MATCH_ALL"
+ }
+ },
+ "android.content.pm.PackageManager.InstrumentationInfoFlags": {
+ "flag": true,
+ "values": {
+ "128": "GET_META_DATA"
+ }
+ },
+ "android.content.pm.PackageManager.ModuleInfoFlags": {
+ "flag": true,
+ "values": {
+ "1": "MODULE_APEX_NAME"
+ }
+ },
+ "android.content.pm.PackageManager.PackageInfoFlags": {
+ "flag": true,
+ "values": {
+ "1": "GET_ACTIVITIES",
+ "16384": "GET_CONFIGURATIONS",
+ "256": "GET_GIDS",
+ "16": "GET_INSTRUMENTATION",
+ "32": "GET_INTENT_FILTERS",
+ "128": "GET_META_DATA",
+ "4096": "GET_PERMISSIONS",
+ "8": "GET_PROVIDERS",
+ "2": "GET_RECEIVERS",
+ "4": "GET_SERVICES",
+ "1024": "GET_SHARED_LIBRARY_FILES",
+ "64": "GET_SIGNATURES",
+ "134217728": "GET_SIGNING_CERTIFICATES",
+ "2048": "GET_URI_PERMISSION_PATTERNS",
+ "8192": "GET_UNINSTALLED_PACKAGES",
+ "512": "GET_DISABLED_COMPONENTS",
+ "32768": "GET_DISABLED_UNTIL_USED_COMPONENTS",
+ "1048576": "MATCH_SYSTEM_ONLY",
+ "2097152": "MATCH_FACTORY_ONLY",
+ "268435456": "MATCH_DEBUG_TRIAGED_MISSING",
+ "8388608": "MATCH_INSTANT",
+ "1073741824": "MATCH_APEX",
+ "536870912": "MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS"
+ }
+ },
+ "android.content.pm.PackageManager.PermissionFlags": {
+ "flag": false,
+ "values": {
+ "1": "FLAG_PERMISSION_USER_SET",
+ "2": "FLAG_PERMISSION_USER_FIXED",
+ "4": "FLAG_PERMISSION_POLICY_FIXED",
+ "8": "FLAG_PERMISSION_REVOKED_COMPAT",
+ "16": "FLAG_PERMISSION_SYSTEM_FIXED",
+ "32": "FLAG_PERMISSION_GRANTED_BY_DEFAULT",
+ "256": "FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED",
+ "512": "FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED",
+ "8192": "FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT",
+ "4096": "FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT",
+ "2048": "FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT",
+ "16384": "FLAG_PERMISSION_APPLY_RESTRICTION",
+ "32768": "FLAG_PERMISSION_GRANTED_BY_ROLE",
+ "65536": "FLAG_PERMISSION_ONE_TIME",
+ "131072": "FLAG_PERMISSION_AUTO_REVOKED"
+ }
+ },
+ "android.content.pm.PackageManager.PermissionGroupInfoFlags": {
+ "flag": true,
+ "values": {
+ "128": "GET_META_DATA"
+ }
+ },
+ "android.content.pm.PackageManager.PermissionInfoFlags": {
+ "flag": true,
+ "values": {
+ "128": "GET_META_DATA"
+ }
+ },
+ "android.content.pm.PackageManager.PermissionResult": {
+ "flag": false,
+ "values": {
+ "0": "PERMISSION_GRANTED",
+ "-1": "PERMISSION_DENIED"
+ }
+ },
+ "android.content.pm.PackageManager.PermissionWhitelistFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_PERMISSION_WHITELIST_SYSTEM",
+ "2": "FLAG_PERMISSION_WHITELIST_INSTALLER",
+ "4": "FLAG_PERMISSION_WHITELIST_UPGRADE",
+ "8": "FLAG_PERMISSION_ALLOWLIST_ROLE"
+ }
+ },
+ "android.content.pm.PackageManager.PropertyLocation": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_UNKNOWN",
+ "1": "TYPE_ACTIVITY",
+ "2": "TYPE_RECEIVER",
+ "3": "TYPE_SERVICE",
+ "4": "TYPE_PROVIDER",
+ "5": "TYPE_APPLICATION"
+ }
+ },
+ "android.content.pm.PackageManager.ResolveInfoFlags": {
+ "flag": true,
+ "values": {
+ "128": "GET_META_DATA",
+ "64": "GET_RESOLVED_FILTER",
+ "1024": "GET_SHARED_LIBRARY_FILES",
+ "131072": "MATCH_ALL",
+ "268435456": "MATCH_DIRECT_BOOT_AUTO",
+ "512": "GET_DISABLED_COMPONENTS",
+ "32768": "GET_DISABLED_UNTIL_USED_COMPONENTS",
+ "65536": "MATCH_DEFAULT_ONLY",
+ "524288": "MATCH_DIRECT_BOOT_AWARE",
+ "262144": "MATCH_DIRECT_BOOT_UNAWARE",
+ "1048576": "MATCH_SYSTEM_ONLY",
+ "8192": "GET_UNINSTALLED_PACKAGES",
+ "8388608": "MATCH_INSTANT"
+ }
+ },
+ "android.content.pm.PackageManager.RollbackDataPolicy": {
+ "flag": false,
+ "values": {
+ "0": "RESTORE",
+ "1": "WIPE",
+ "2": "RETAIN"
+ }
+ },
+ "android.content.pm.PackageManager.SignatureResult": {
+ "flag": false,
+ "values": {
+ "0": "SIGNATURE_MATCH",
+ "1": "SIGNATURE_NEITHER_SIGNED",
+ "-1": "SIGNATURE_FIRST_NOT_SIGNED",
+ "-2": "SIGNATURE_SECOND_NOT_SIGNED",
+ "-3": "SIGNATURE_NO_MATCH",
+ "-4": "SIGNATURE_UNKNOWN_PACKAGE"
+ }
+ },
+ "android.content.pm.PackageManager.SystemAppState": {
+ "flag": false,
+ "values": {
+ "0": "SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN",
+ "1": "SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE",
+ "2": "SYSTEM_APP_STATE_INSTALLED",
+ "3": "SYSTEM_APP_STATE_UNINSTALLED"
+ }
+ },
+ "android.content.pm.PackageManager.UninstallReason": {
+ "flag": false,
+ "values": {
+ "0": "UNINSTALL_REASON_UNKNOWN",
+ "1": "UNINSTALL_REASON_USER_TYPE"
+ }
+ },
+ "android.content.pm.PackageManager.UnstartableReason": {
+ "flag": false,
+ "values": {
+ "0": "UNSTARTABLE_REASON_UNKNOWN",
+ "1": "UNSTARTABLE_REASON_CONNECTION_ERROR",
+ "2": "UNSTARTABLE_REASON_INSUFFICIENT_STORAGE"
+ }
+ },
+ "android.content.pm.PackageParser.ParseFlags": {
+ "flag": true,
+ "values": {
+ "-2147483648": "PARSE_CHATTY",
+ "32": "PARSE_COLLECT_CERTIFICATES",
+ "64": "PARSE_ENFORCE_CODE",
+ "8": "PARSE_EXTERNAL_STORAGE",
+ "2": "PARSE_IGNORE_PROCESSES",
+ "16": "PARSE_IS_SYSTEM_DIR",
+ "1": "PARSE_MUST_BE_APK"
+ }
+ },
+ "android.content.pm.PackageParser.SigningDetails.CertCapabilities": {
+ "flag": true,
+ "values": {
+ "1": "INSTALLED_DATA",
+ "2": "SHARED_USER_ID",
+ "4": "PERMISSION",
+ "8": "ROLLBACK"
+ }
+ },
+ "android.content.pm.PackageParser.SigningDetails.SignatureSchemeVersion": {
+ "flag": false,
+ "values": {
+ "0": "UNKNOWN",
+ "1": "JAR",
+ "2": "SIGNING_BLOCK_V2",
+ "3": "SIGNING_BLOCK_V3",
+ "4": "SIGNING_BLOCK_V4"
+ }
+ },
+ "android.content.pm.PackagePartitions.PartitionType": {
+ "flag": true,
+ "values": {
+ "0": "PARTITION_SYSTEM",
+ "1": "PARTITION_VENDOR",
+ "2": "PARTITION_ODM",
+ "3": "PARTITION_OEM",
+ "4": "PARTITION_PRODUCT",
+ "5": "PARTITION_SYSTEM_EXT"
+ }
+ },
+ "android.content.pm.PermissionGroupInfo.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_PERSONAL_INFO"
+ }
+ },
+ "android.content.pm.PermissionInfo.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_COSTS_MONEY",
+ "2": "FLAG_REMOVED",
+ "4": "FLAG_HARD_RESTRICTED",
+ "8": "FLAG_SOFT_RESTRICTED",
+ "16": "FLAG_IMMUTABLY_RESTRICTED",
+ "1073741824": "FLAG_INSTALLED"
+ }
+ },
+ "android.content.pm.PermissionInfo.Protection": {
+ "flag": false,
+ "values": {
+ "0": "PROTECTION_NORMAL",
+ "1": "PROTECTION_DANGEROUS",
+ "2": "PROTECTION_SIGNATURE",
+ "3": "PROTECTION_SIGNATURE_OR_SYSTEM"
+ }
+ },
+ "android.content.pm.PermissionInfo.ProtectionFlags": {
+ "flag": true,
+ "values": {
+ "16": "PROTECTION_FLAG_SYSTEM",
+ "32": "PROTECTION_FLAG_DEVELOPMENT",
+ "64": "PROTECTION_FLAG_APPOP",
+ "128": "PROTECTION_FLAG_PRE23",
+ "256": "PROTECTION_FLAG_INSTALLER",
+ "512": "PROTECTION_FLAG_VERIFIER",
+ "1024": "PROTECTION_FLAG_PREINSTALLED",
+ "2048": "PROTECTION_FLAG_SETUP",
+ "4096": "PROTECTION_FLAG_INSTANT",
+ "8192": "PROTECTION_FLAG_RUNTIME_ONLY",
+ "16384": "PROTECTION_FLAG_OEM",
+ "32768": "PROTECTION_FLAG_VENDOR_PRIVILEGED",
+ "65536": "PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER",
+ "131072": "PROTECTION_FLAG_WELLBEING",
+ "262144": "PROTECTION_FLAG_DOCUMENTER",
+ "524288": "PROTECTION_FLAG_CONFIGURATOR",
+ "1048576": "PROTECTION_FLAG_INCIDENT_REPORT_APPROVER",
+ "2097152": "PROTECTION_FLAG_APP_PREDICTOR",
+ "8388608": "PROTECTION_FLAG_COMPANION",
+ "16777216": "PROTECTION_FLAG_RETAIL_DEMO",
+ "33554432": "PROTECTION_FLAG_RECENTS"
+ }
+ },
+ "android.content.pm.ServiceInfo.ForegroundServiceType": {
+ "flag": true,
+ "values": {
+ "-1": "FOREGROUND_SERVICE_TYPE_MANIFEST",
+ "0": "FOREGROUND_SERVICE_TYPE_NONE",
+ "1": "FOREGROUND_SERVICE_TYPE_DATA_SYNC",
+ "2": "FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK",
+ "4": "FOREGROUND_SERVICE_TYPE_PHONE_CALL",
+ "8": "FOREGROUND_SERVICE_TYPE_LOCATION",
+ "16": "FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE",
+ "32": "FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION",
+ "64": "FOREGROUND_SERVICE_TYPE_CAMERA",
+ "128": "FOREGROUND_SERVICE_TYPE_MICROPHONE"
+ }
+ },
+ "android.content.pm.SharedLibraryInfo.Type": {
+ "flag": true,
+ "values": {
+ "0": "TYPE_BUILTIN",
+ "1": "TYPE_DYNAMIC",
+ "2": "TYPE_STATIC"
+ }
+ },
+ "android.content.pm.ShortcutInfo.CloneFlags": {
+ "flag": true,
+ "values": {
+ "1": "CLONE_REMOVE_ICON",
+ "2": "CLONE_REMOVE_INTENT",
+ "4": "CLONE_REMOVE_NON_KEY_INFO",
+ "8": "CLONE_REMOVE_RES_NAMES",
+ "16": "CLONE_REMOVE_PERSON",
+ "9": "CLONE_REMOVE_FOR_APP_PREDICTION",
+ "27": "CLONE_REMOVE_FOR_LAUNCHER",
+ "26": "CLONE_REMOVE_FOR_LAUNCHER_APPROVAL"
+ }
+ },
+ "android.content.pm.ShortcutInfo.DisabledReason": {
+ "flag": false,
+ "values": {
+ "0": "DISABLED_REASON_NOT_DISABLED",
+ "1": "DISABLED_REASON_BY_APP",
+ "2": "DISABLED_REASON_APP_CHANGED",
+ "3": "DISABLED_REASON_UNKNOWN",
+ "100": "DISABLED_REASON_VERSION_LOWER",
+ "101": "DISABLED_REASON_BACKUP_NOT_SUPPORTED",
+ "102": "DISABLED_REASON_SIGNATURE_MISMATCH",
+ "103": "DISABLED_REASON_OTHER_RESTORE_ISSUE"
+ }
+ },
+ "android.content.pm.ShortcutInfo.ShortcutFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_DYNAMIC",
+ "2": "FLAG_PINNED",
+ "4": "FLAG_HAS_ICON_RES",
+ "8": "FLAG_HAS_ICON_FILE",
+ "16": "FLAG_KEY_FIELDS_ONLY",
+ "32": "FLAG_MANIFEST",
+ "64": "FLAG_DISABLED",
+ "128": "FLAG_STRINGS_RESOLVED",
+ "256": "FLAG_IMMUTABLE",
+ "512": "FLAG_ADAPTIVE_BITMAP",
+ "1024": "FLAG_RETURNED_BY_SERVICE",
+ "2048": "FLAG_ICON_FILE_PENDING_SAVE",
+ "4096": "FLAG_SHADOW",
+ "8192": "FLAG_LONG_LIVED",
+ "32768": "FLAG_HAS_ICON_URI",
+ "16384": "FLAG_CACHED_NOTIFICATIONS",
+ "1073741824": "FLAG_CACHED_BUBBLES"
+ }
+ },
+ "android.content.pm.ShortcutManager.ShortcutMatchFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_MATCH_MANIFEST",
+ "2": "FLAG_MATCH_DYNAMIC",
+ "4": "FLAG_MATCH_PINNED",
+ "8": "FLAG_MATCH_CACHED"
+ }
+ },
+ "android.content.pm.SuspendDialogInfo.ButtonAction": {
+ "flag": true,
+ "values": {
+ "0": "BUTTON_ACTION_MORE_DETAILS",
+ "1": "BUTTON_ACTION_UNSUSPEND"
+ }
+ },
+ "android.content.pm.UserInfo.UserInfoFlag": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_PRIMARY",
+ "2": "FLAG_ADMIN",
+ "4": "FLAG_GUEST",
+ "8": "FLAG_RESTRICTED",
+ "16": "FLAG_INITIALIZED",
+ "32": "FLAG_MANAGED_PROFILE",
+ "64": "FLAG_DISABLED",
+ "128": "FLAG_QUIET_MODE",
+ "256": "FLAG_EPHEMERAL",
+ "512": "FLAG_DEMO",
+ "1024": "FLAG_FULL",
+ "2048": "FLAG_SYSTEM",
+ "4096": "FLAG_PROFILE"
+ }
+ },
+ "android.content.pm.dex.ArtManager.ProfileType": {
+ "flag": true,
+ "values": {
+ "0": "PROFILE_APPS",
+ "1": "PROFILE_BOOT_IMAGE"
+ }
+ },
+ "android.content.pm.parsing.component.ParsedAttribution.Max": {
+ "flag": false,
+ "values": {
+ "50": "MAX_ATTRIBUTION_TAG_LEN",
+ "1000": "MAX_NUM_ATTRIBUTIONS"
+ }
+ },
+ "android.content.res.ApkAssets.FormatType": {
+ "flag": false,
+ "values": {
+ "0": "FORMAT_APK",
+ "1": "FORMAT_IDMAP",
+ "2": "FORMAT_ARSC",
+ "3": "FORMAT_DIR"
+ }
+ },
+ "android.content.res.ApkAssets.PropertyFlags": {
+ "flag": false,
+ "values": {
+ "1": "PROPERTY_SYSTEM",
+ "2": "PROPERTY_DYNAMIC",
+ "4": "PROPERTY_LOADER",
+ "8": "PROPERTY_OVERLAY"
+ }
+ },
+ "android.content.res.Configuration.NativeConfig": {
+ "flag": true,
+ "values": {
+ "1": "NATIVE_CONFIG_MCC",
+ "2": "NATIVE_CONFIG_MNC",
+ "4": "NATIVE_CONFIG_LOCALE",
+ "8": "NATIVE_CONFIG_TOUCHSCREEN",
+ "16": "NATIVE_CONFIG_KEYBOARD",
+ "32": "NATIVE_CONFIG_KEYBOARD_HIDDEN",
+ "64": "NATIVE_CONFIG_NAVIGATION",
+ "128": "NATIVE_CONFIG_ORIENTATION",
+ "256": "NATIVE_CONFIG_DENSITY",
+ "512": "NATIVE_CONFIG_SCREEN_SIZE",
+ "1024": "NATIVE_CONFIG_VERSION",
+ "2048": "NATIVE_CONFIG_SCREEN_LAYOUT",
+ "4096": "NATIVE_CONFIG_UI_MODE",
+ "8192": "NATIVE_CONFIG_SMALLEST_SCREEN_SIZE",
+ "16384": "NATIVE_CONFIG_LAYOUTDIR",
+ "65536": "NATIVE_CONFIG_COLOR_MODE"
+ }
+ },
+ "android.content.res.Configuration.Orientation": {
+ "flag": false,
+ "values": {
+ "0": "ORIENTATION_UNDEFINED",
+ "1": "ORIENTATION_PORTRAIT",
+ "2": "ORIENTATION_LANDSCAPE",
+ "3": "ORIENTATION_SQUARE"
+ }
+ },
+ "android.content.res.GradientColor.GradientTileMode": {
+ "flag": false,
+ "values": {
+ "0": "TILE_MODE_CLAMP",
+ "1": "TILE_MODE_REPEAT",
+ "2": "TILE_MODE_MIRROR"
+ }
+ },
+ "android.content.rollback.RollbackManager.Status": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_SUCCESS",
+ "1": "STATUS_FAILURE",
+ "2": "STATUS_FAILURE_ROLLBACK_UNAVAILABLE",
+ "3": "STATUS_FAILURE_INSTALL"
+ }
+ },
+ "android.database.Cursor.FieldType": {
+ "flag": false,
+ "values": {
+ "0": "FIELD_TYPE_NULL",
+ "1": "FIELD_TYPE_INTEGER",
+ "2": "FIELD_TYPE_FLOAT",
+ "3": "FIELD_TYPE_STRING",
+ "4": "FIELD_TYPE_BLOB"
+ }
+ },
+ "android.database.sqlite.SQLiteDatabase.DatabaseOpenFlags": {
+ "flag": true,
+ "values": {
+ "0": "OPEN_READWRITE",
+ "1": "OPEN_READONLY",
+ "268435456": "CREATE_IF_NECESSARY",
+ "16": "NO_LOCALIZED_COLLATORS",
+ "536870912": "ENABLE_WRITE_AHEAD_LOGGING"
+ }
+ },
+ "android.graphics.Canvas.Saveflags": {
+ "flag": true,
+ "values": {
+ "31": "ALL_SAVE_FLAG"
+ }
+ },
+ "android.graphics.HardwareRenderer.DumpFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_DUMP_FRAMESTATS",
+ "2": "FLAG_DUMP_RESET"
+ }
+ },
+ "android.graphics.HardwareRenderer.SyncAndDrawResult": {
+ "flag": false,
+ "values": {
+ "0": "SYNC_OK",
+ "1": "SYNC_REDRAW_REQUESTED",
+ "2": "SYNC_LOST_SURFACE_REWARD_IF_FOUND",
+ "4": "SYNC_CONTEXT_IS_STOPPED",
+ "8": "SYNC_FRAME_DROPPED"
+ }
+ },
+ "android.graphics.ImageDecoder.Allocator": {
+ "flag": false,
+ "values": {
+ "0": "ALLOCATOR_DEFAULT",
+ "1": "ALLOCATOR_SOFTWARE",
+ "2": "ALLOCATOR_SHARED_MEMORY",
+ "3": "ALLOCATOR_HARDWARE"
+ }
+ },
+ "android.graphics.ImageDecoder.DecodeException.Error": {
+ "flag": false,
+ "values": {
+ "1": "SOURCE_EXCEPTION",
+ "2": "SOURCE_INCOMPLETE",
+ "3": "SOURCE_MALFORMED_DATA"
+ }
+ },
+ "android.graphics.ImageDecoder.MemoryPolicy": {
+ "flag": false,
+ "values": {
+ "1": "MEMORY_POLICY_DEFAULT",
+ "0": "MEMORY_POLICY_LOW_RAM"
+ }
+ },
+ "android.graphics.ImageFormat.Format": {
+ "flag": false,
+ "values": {
+ "0": "UNKNOWN",
+ "4": "RGB_565",
+ "842094169": "YV12",
+ "538982489": "Y8",
+ "540422489": "Y16",
+ "16": "NV16",
+ "17": "NV21",
+ "20": "YUY2",
+ "256": "JPEG",
+ "1768253795": "DEPTH_JPEG",
+ "35": "YUV_420_888",
+ "39": "YUV_422_888",
+ "40": "YUV_444_888",
+ "41": "FLEX_RGB_888",
+ "42": "FLEX_RGBA_8888",
+ "32": "RAW_SENSOR",
+ "36": "RAW_PRIVATE",
+ "37": "RAW10",
+ "38": "RAW12",
+ "1144402265": "DEPTH16",
+ "257": "DEPTH_POINT_CLOUD",
+ "4098": "RAW_DEPTH",
+ "4099": "RAW_DEPTH10",
+ "34": "PRIVATE",
+ "1212500294": "HEIC"
+ }
+ },
+ "android.graphics.Outline.Mode": {
+ "flag": false,
+ "values": {
+ "0": "MODE_EMPTY",
+ "1": "MODE_ROUND_RECT",
+ "2": "MODE_PATH"
+ }
+ },
+ "android.graphics.Paint.CursorOption": {
+ "flag": false,
+ "values": {
+ "0": "CURSOR_AFTER",
+ "1": "CURSOR_AT_OR_AFTER",
+ "2": "CURSOR_BEFORE",
+ "3": "CURSOR_AT_OR_BEFORE"
+ }
+ },
+ "android.graphics.Paint.EndHyphenEdit": {
+ "flag": false,
+ "values": {
+ "0": "END_HYPHEN_EDIT_NO_EDIT",
+ "1": "END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN",
+ "2": "END_HYPHEN_EDIT_INSERT_HYPHEN",
+ "3": "END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN",
+ "4": "END_HYPHEN_EDIT_INSERT_MAQAF",
+ "5": "END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN",
+ "6": "END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN"
+ }
+ },
+ "android.graphics.Paint.PaintFlag": {
+ "flag": true,
+ "values": {
+ "1": "ANTI_ALIAS_FLAG",
+ "2": "FILTER_BITMAP_FLAG",
+ "4": "DITHER_FLAG",
+ "8": "UNDERLINE_TEXT_FLAG",
+ "16": "STRIKE_THRU_TEXT_FLAG",
+ "32": "FAKE_BOLD_TEXT_FLAG",
+ "64": "LINEAR_TEXT_FLAG",
+ "128": "SUBPIXEL_TEXT_FLAG",
+ "1024": "EMBEDDED_BITMAP_TEXT_FLAG"
+ }
+ },
+ "android.graphics.Paint.StartHyphenEdit": {
+ "flag": false,
+ "values": {
+ "0": "START_HYPHEN_EDIT_NO_EDIT",
+ "1": "START_HYPHEN_EDIT_INSERT_HYPHEN",
+ "2": "START_HYPHEN_EDIT_INSERT_ZWJ"
+ }
+ },
+ "android.graphics.PixelFormat.Format": {
+ "flag": false,
+ "values": {
+ "1": "RGBA_8888",
+ "2": "RGBX_8888",
+ "22": "RGBA_F16",
+ "43": "RGBA_1010102",
+ "3": "RGB_888",
+ "4": "RGB_565"
+ }
+ },
+ "android.graphics.PixelFormat.Opacity": {
+ "flag": false,
+ "values": {
+ "0": "UNKNOWN",
+ "-3": "TRANSLUCENT",
+ "-2": "TRANSPARENT",
+ "-1": "OPAQUE"
+ }
+ },
+ "android.graphics.RenderNode.UsageHint": {
+ "flag": false,
+ "values": {
+ "1": "USAGE_BACKGROUND"
+ }
+ },
+ "android.graphics.Typeface.Style": {
+ "flag": false,
+ "values": {
+ "0": "NORMAL",
+ "1": "BOLD",
+ "2": "ITALIC",
+ "3": "BOLD_ITALIC"
+ }
+ },
+ "android.graphics.drawable.GradientDrawable.GradientType": {
+ "flag": false,
+ "values": {
+ "0": "LINEAR_GRADIENT",
+ "1": "RADIAL_GRADIENT",
+ "2": "SWEEP_GRADIENT"
+ }
+ },
+ "android.graphics.drawable.GradientDrawable.RadiusType": {
+ "flag": false,
+ "values": {
+ "0": "RADIUS_TYPE_PIXELS",
+ "1": "RADIUS_TYPE_FRACTION",
+ "2": "RADIUS_TYPE_FRACTION_PARENT"
+ }
+ },
+ "android.graphics.drawable.GradientDrawable.Shape": {
+ "flag": false,
+ "values": {
+ "0": "RECTANGLE",
+ "1": "OVAL",
+ "2": "LINE",
+ "3": "RING"
+ }
+ },
+ "android.graphics.drawable.Icon.IconType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_BITMAP",
+ "2": "TYPE_RESOURCE",
+ "3": "TYPE_DATA",
+ "4": "TYPE_URI",
+ "5": "TYPE_ADAPTIVE_BITMAP",
+ "6": "TYPE_URI_ADAPTIVE_BITMAP"
+ }
+ },
+ "android.graphics.fonts.FontStyle.FontSlant": {
+ "flag": false,
+ "values": {
+ "0": "FONT_SLANT_UPRIGHT",
+ "1": "FONT_SLANT_ITALIC"
+ }
+ },
+ "android.graphics.pdf.PdfRenderer.RenderMode": {
+ "flag": false,
+ "values": {
+ "1": "RENDER_MODE_FOR_DISPLAY",
+ "2": "RENDER_MODE_FOR_PRINT"
+ }
+ },
+ "android.graphics.text.LineBreaker.BreakStrategy": {
+ "flag": false,
+ "values": {
+ "0": "BREAK_STRATEGY_SIMPLE",
+ "1": "BREAK_STRATEGY_HIGH_QUALITY",
+ "2": "BREAK_STRATEGY_BALANCED"
+ }
+ },
+ "android.graphics.text.LineBreaker.HyphenationFrequency": {
+ "flag": false,
+ "values": {
+ "1": "HYPHENATION_FREQUENCY_NORMAL",
+ "2": "HYPHENATION_FREQUENCY_FULL",
+ "0": "HYPHENATION_FREQUENCY_NONE"
+ }
+ },
+ "android.graphics.text.LineBreaker.JustificationMode": {
+ "flag": false,
+ "values": {
+ "0": "JUSTIFICATION_MODE_NONE",
+ "1": "JUSTIFICATION_MODE_INTER_WORD"
+ }
+ },
+ "android.hardware.HardwareBuffer.Format": {
+ "flag": false,
+ "values": {
+ "1": "RGBA_8888",
+ "22": "RGBA_FP16",
+ "43": "RGBA_1010102",
+ "2": "RGBX_8888",
+ "3": "RGB_888",
+ "4": "RGB_565",
+ "33": "BLOB",
+ "35": "YCBCR_420_888",
+ "48": "D_16",
+ "49": "D_24",
+ "50": "DS_24UI8",
+ "51": "D_FP32",
+ "52": "DS_FP32UI8",
+ "53": "S_UI8"
+ }
+ },
+ "android.hardware.SensorAdditionalInfo.AdditionalInfoType": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_FRAME_BEGIN",
+ "1": "TYPE_FRAME_END",
+ "65536": "TYPE_UNTRACKED_DELAY",
+ "65537": "TYPE_INTERNAL_TEMPERATURE",
+ "65538": "TYPE_VEC3_CALIBRATION",
+ "65539": "TYPE_SENSOR_PLACEMENT",
+ "65540": "TYPE_SAMPLING"
+ }
+ },
+ "android.hardware.SensorDirectChannel.MemoryType": {
+ "flag": true,
+ "values": {
+ "1": "TYPE_MEMORY_FILE",
+ "2": "TYPE_HARDWARE_BUFFER"
+ }
+ },
+ "android.hardware.SensorDirectChannel.RateLevel": {
+ "flag": true,
+ "values": {
+ "0": "RATE_STOP",
+ "1": "RATE_NORMAL",
+ "2": "RATE_FAST",
+ "3": "RATE_VERY_FAST"
+ }
+ },
+ "android.hardware.biometrics.BiometricAuthenticator.Modality": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_NONE",
+ "1": "TYPE_CREDENTIAL",
+ "2": "TYPE_FINGERPRINT",
+ "4": "TYPE_IRIS"
+ }
+ },
+ "android.hardware.biometrics.BiometricConstants.Acquired": {
+ "flag": false,
+ "values": {
+ "0": "BIOMETRIC_ACQUIRED_GOOD",
+ "1": "BIOMETRIC_ACQUIRED_PARTIAL",
+ "2": "BIOMETRIC_ACQUIRED_INSUFFICIENT",
+ "3": "BIOMETRIC_ACQUIRED_IMAGER_DIRTY",
+ "4": "BIOMETRIC_ACQUIRED_TOO_SLOW",
+ "5": "BIOMETRIC_ACQUIRED_TOO_FAST",
+ "6": "BIOMETRIC_ACQUIRED_VENDOR"
+ }
+ },
+ "android.hardware.biometrics.BiometricConstants.Errors": {
+ "flag": false,
+ "values": {
+ "0": "BIOMETRIC_SUCCESS",
+ "1": "BIOMETRIC_ERROR_HW_UNAVAILABLE",
+ "2": "BIOMETRIC_ERROR_UNABLE_TO_PROCESS",
+ "3": "BIOMETRIC_ERROR_TIMEOUT",
+ "4": "BIOMETRIC_ERROR_NO_SPACE",
+ "5": "BIOMETRIC_ERROR_CANCELED",
+ "6": "BIOMETRIC_ERROR_UNABLE_TO_REMOVE",
+ "7": "BIOMETRIC_ERROR_LOCKOUT",
+ "8": "BIOMETRIC_ERROR_VENDOR",
+ "9": "BIOMETRIC_ERROR_LOCKOUT_PERMANENT",
+ "10": "BIOMETRIC_ERROR_USER_CANCELED",
+ "11": "BIOMETRIC_ERROR_NO_BIOMETRICS",
+ "12": "BIOMETRIC_ERROR_HW_NOT_PRESENT",
+ "13": "BIOMETRIC_ERROR_NEGATIVE_BUTTON",
+ "14": "BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL",
+ "15": "BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED",
+ "100": "BIOMETRIC_PAUSED_REJECTED"
+ }
+ },
+ "android.hardware.biometrics.BiometricFingerprintConstants.FingerprintAcquired": {
+ "flag": false,
+ "values": {
+ "0": "FINGERPRINT_ACQUIRED_GOOD",
+ "1": "FINGERPRINT_ACQUIRED_PARTIAL",
+ "2": "FINGERPRINT_ACQUIRED_INSUFFICIENT",
+ "3": "FINGERPRINT_ACQUIRED_IMAGER_DIRTY",
+ "4": "FINGERPRINT_ACQUIRED_TOO_SLOW",
+ "5": "FINGERPRINT_ACQUIRED_TOO_FAST",
+ "6": "FINGERPRINT_ACQUIRED_VENDOR",
+ "7": "FINGERPRINT_ACQUIRED_START"
+ }
+ },
+ "android.hardware.biometrics.BiometricFingerprintConstants.FingerprintError": {
+ "flag": false,
+ "values": {
+ "1": "FINGERPRINT_ERROR_HW_UNAVAILABLE",
+ "2": "FINGERPRINT_ERROR_UNABLE_TO_PROCESS",
+ "3": "FINGERPRINT_ERROR_TIMEOUT",
+ "4": "FINGERPRINT_ERROR_NO_SPACE",
+ "5": "FINGERPRINT_ERROR_CANCELED",
+ "6": "FINGERPRINT_ERROR_UNABLE_TO_REMOVE",
+ "7": "FINGERPRINT_ERROR_LOCKOUT",
+ "8": "FINGERPRINT_ERROR_VENDOR",
+ "9": "FINGERPRINT_ERROR_LOCKOUT_PERMANENT",
+ "10": "FINGERPRINT_ERROR_USER_CANCELED",
+ "11": "FINGERPRINT_ERROR_NO_FINGERPRINTS",
+ "12": "FINGERPRINT_ERROR_HW_NOT_PRESENT",
+ "13": "FINGERPRINT_ERROR_NEGATIVE_BUTTON",
+ "14": "BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL",
+ "15": "BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED"
+ }
+ },
+ "android.hardware.biometrics.BiometricManager.Authenticators.Types": {
+ "flag": true,
+ "values": {
+ "15": "BIOMETRIC_STRONG",
+ "255": "BIOMETRIC_WEAK",
+ "4095": "BIOMETRIC_CONVENIENCE",
+ "32768": "DEVICE_CREDENTIAL"
+ }
+ },
+ "android.hardware.biometrics.BiometricManager.BiometricError": {
+ "flag": false,
+ "values": {
+ "0": "BIOMETRIC_SUCCESS",
+ "1": "BIOMETRIC_ERROR_HW_UNAVAILABLE",
+ "11": "BIOMETRIC_ERROR_NONE_ENROLLED",
+ "12": "BIOMETRIC_ERROR_NO_HARDWARE",
+ "15": "BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED"
+ }
+ },
+ "android.hardware.biometrics.BiometricPrompt.AuthenticationResultType": {
+ "flag": false,
+ "values": {
+ "1": "AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL",
+ "2": "AUTHENTICATION_RESULT_TYPE_BIOMETRIC"
+ }
+ },
+ "android.hardware.biometrics.BiometricPrompt.DismissedReason": {
+ "flag": false,
+ "values": {
+ "1": "DISMISSED_REASON_BIOMETRIC_CONFIRMED",
+ "2": "DISMISSED_REASON_NEGATIVE",
+ "3": "DISMISSED_REASON_USER_CANCEL",
+ "4": "DISMISSED_REASON_BIOMETRIC_CONFIRM_NOT_REQUIRED",
+ "5": "DISMISSED_REASON_ERROR",
+ "6": "DISMISSED_REASON_SERVER_REQUESTED",
+ "7": "DISMISSED_REASON_CREDENTIAL_CONFIRMED"
+ }
+ },
+ "android.hardware.biometrics.SensorProperties.Strength": {
+ "flag": false,
+ "values": {
+ "0": "STRENGTH_CONVENIENCE",
+ "1": "STRENGTH_WEAK",
+ "2": "STRENGTH_STRONG"
+ }
+ },
+ "android.hardware.camera2.CameraAccessException.AccessError": {
+ "flag": false,
+ "values": {
+ "4": "CAMERA_IN_USE",
+ "5": "MAX_CAMERAS_IN_USE",
+ "1": "CAMERA_DISABLED",
+ "2": "CAMERA_DISCONNECTED",
+ "3": "CAMERA_ERROR"
+ }
+ },
+ "android.hardware.camera2.CameraDevice.CAMERA_AUDIO_RESTRICTION": {
+ "flag": false,
+ "values": {
+ "0": "AUDIO_RESTRICTION_NONE",
+ "1": "AUDIO_RESTRICTION_VIBRATION",
+ "3": "AUDIO_RESTRICTION_VIBRATION_SOUND"
+ }
+ },
+ "android.hardware.camera2.CameraDevice.RequestTemplate": {
+ "flag": false,
+ "values": {
+ "1": "TEMPLATE_PREVIEW",
+ "2": "TEMPLATE_STILL_CAPTURE",
+ "3": "TEMPLATE_RECORD",
+ "4": "TEMPLATE_VIDEO_SNAPSHOT",
+ "5": "TEMPLATE_ZERO_SHUTTER_LAG",
+ "6": "TEMPLATE_MANUAL"
+ }
+ },
+ "android.hardware.camera2.CameraDevice.SessionOperatingMode": {
+ "flag": false,
+ "values": {
+ "0": "SESSION_OPERATION_MODE_NORMAL",
+ "1": "SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED",
+ "32768": "SESSION_OPERATION_MODE_VENDOR_START"
+ }
+ },
+ "android.hardware.camera2.CameraDevice.StateCallback.ErrorCode": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_CAMERA_IN_USE",
+ "2": "ERROR_MAX_CAMERAS_IN_USE",
+ "3": "ERROR_CAMERA_DISABLED",
+ "4": "ERROR_CAMERA_DEVICE",
+ "5": "ERROR_CAMERA_SERVICE"
+ }
+ },
+ "android.hardware.camera2.CameraOfflineSession.CameraOfflineSessionCallback.StatusCode": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_INTERNAL_ERROR"
+ }
+ },
+ "android.hardware.camera2.CaptureFailure.FailureReason": {
+ "flag": false,
+ "values": {
+ "0": "REASON_ERROR",
+ "1": "REASON_FLUSHED"
+ }
+ },
+ "android.hardware.camera2.params.RecommendedStreamConfigurationMap.RecommendedUsecase": {
+ "flag": false,
+ "values": {
+ "0": "USECASE_PREVIEW",
+ "1": "USECASE_RECORD",
+ "2": "USECASE_VIDEO_SNAPSHOT",
+ "3": "USECASE_SNAPSHOT",
+ "4": "USECASE_ZSL",
+ "5": "USECASE_RAW",
+ "6": "USECASE_LOW_LATENCY_SNAPSHOT"
+ }
+ },
+ "android.hardware.camera2.params.SessionConfiguration.SessionMode": {
+ "flag": false,
+ "values": {
+ "0": "SESSION_REGULAR",
+ "1": "SESSION_HIGH_SPEED"
+ }
+ },
+ "android.hardware.display.ColorDisplayManager.AutoMode": {
+ "flag": false,
+ "values": {
+ "0": "AUTO_MODE_DISABLED",
+ "1": "AUTO_MODE_CUSTOM_TIME",
+ "2": "AUTO_MODE_TWILIGHT"
+ }
+ },
+ "android.hardware.display.ColorDisplayManager.CapabilityType": {
+ "flag": false,
+ "values": {
+ "0": "CAPABILITY_NONE",
+ "1": "CAPABILITY_PROTECTED_CONTENT",
+ "2": "CAPABILITY_HARDWARE_ACCELERATION_GLOBAL",
+ "4": "CAPABILITY_HARDWARE_ACCELERATION_PER_APP"
+ }
+ },
+ "android.hardware.display.ColorDisplayManager.ColorMode": {
+ "flag": false,
+ "values": {
+ "0": "COLOR_MODE_NATURAL",
+ "1": "COLOR_MODE_BOOSTED",
+ "2": "COLOR_MODE_SATURATED",
+ "3": "COLOR_MODE_AUTOMATIC"
+ }
+ },
+ "android.hardware.display.DisplayViewport.ViewportType": {
+ "flag": false,
+ "values": {
+ "1": "VIEWPORT_INTERNAL",
+ "2": "VIEWPORT_EXTERNAL",
+ "3": "VIEWPORT_VIRTUAL"
+ }
+ },
+ "android.hardware.fingerprint.FingerprintManager.SensorId": {
+ "flag": false,
+ "values": {
+ "-1": "SENSOR_ID_ANY"
+ }
+ },
+ "android.hardware.fingerprint.FingerprintSensorProperties.SensorType": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_UNKNOWN",
+ "1": "TYPE_REAR",
+ "2": "TYPE_UDFPS_ULTRASONIC",
+ "3": "TYPE_UDFPS_OPTICAL",
+ "4": "TYPE_POWER_BUTTON",
+ "5": "TYPE_HOME_BUTTON"
+ }
+ },
+ "android.hardware.hdmi.HdmiControlManager.ControlCallbackResult": {
+ "flag": false,
+ "values": {
+ "0": "RESULT_SUCCESS",
+ "1": "RESULT_TIMEOUT",
+ "2": "RESULT_SOURCE_NOT_AVAILABLE",
+ "3": "RESULT_TARGET_NOT_AVAILABLE",
+ "4": "RESULT_ALREADY_IN_PROGRESS",
+ "5": "RESULT_EXCEPTION",
+ "6": "RESULT_INCORRECT_MODE",
+ "7": "RESULT_COMMUNICATION_FAILED"
+ }
+ },
+ "android.hardware.hdmi.HdmiControlManager.HdmiCecControl": {
+ "flag": false,
+ "values": {
+ "1": "HDMI_CEC_CONTROL_ENABLED",
+ "0": "HDMI_CEC_CONTROL_DISABLED"
+ }
+ },
+ "android.hardware.hdmi.HdmiControlManager.HdmiCecVersion": {
+ "flag": false,
+ "values": {
+ "5": "HDMI_CEC_VERSION_1_4_b",
+ "6": "HDMI_CEC_VERSION_2_0"
+ }
+ },
+ "android.hardware.hdmi.HdmiControlManager.SystemAudioModeMuting": {
+ "flag": false,
+ "values": {
+ "1": "SYSTEM_AUDIO_MODE_MUTING_ENABLED",
+ "0": "SYSTEM_AUDIO_MODE_MUTING_DISABLED"
+ }
+ },
+ "android.hardware.hdmi.HdmiUtils.HdmiAddressRelativePosition": {
+ "flag": false,
+ "values": {
+ "0": "HDMI_RELATIVE_POSITION_UNKNOWN",
+ "1": "HDMI_RELATIVE_POSITION_DIRECTLY_BELOW",
+ "2": "HDMI_RELATIVE_POSITION_BELOW",
+ "3": "HDMI_RELATIVE_POSITION_SAME",
+ "4": "HDMI_RELATIVE_POSITION_DIRECTLY_ABOVE",
+ "5": "HDMI_RELATIVE_POSITION_ABOVE",
+ "6": "HDMI_RELATIVE_POSITION_SIBLING",
+ "7": "HDMI_RELATIVE_POSITION_DIFFERENT_BRANCH"
+ }
+ },
+ "android.hardware.input.InputManager.SwitchState": {
+ "flag": false,
+ "values": {
+ "-1": "SWITCH_STATE_UNKNOWN",
+ "0": "SWITCH_STATE_OFF",
+ "1": "SWITCH_STATE_ON"
+ }
+ },
+ "android.hardware.lights.LightsManager.LightType": {
+ "flag": false,
+ "values": {
+ "8": "LIGHT_TYPE_MICROPHONE"
+ }
+ },
+ "android.hardware.location.ContextHubManager.Event": {
+ "flag": false,
+ "values": {
+ "0": "EVENT_NANOAPP_LOADED",
+ "1": "EVENT_NANOAPP_UNLOADED",
+ "2": "EVENT_NANOAPP_ENABLED",
+ "3": "EVENT_NANOAPP_DISABLED",
+ "4": "EVENT_NANOAPP_ABORTED",
+ "5": "EVENT_NANOAPP_MESSAGE",
+ "6": "EVENT_HUB_RESET"
+ }
+ },
+ "android.hardware.location.ContextHubTransaction.Result": {
+ "flag": false,
+ "values": {
+ "0": "RESULT_SUCCESS",
+ "1": "RESULT_FAILED_UNKNOWN",
+ "2": "RESULT_FAILED_BAD_PARAMS",
+ "3": "RESULT_FAILED_UNINITIALIZED",
+ "4": "RESULT_FAILED_BUSY",
+ "5": "RESULT_FAILED_AT_HUB",
+ "6": "RESULT_FAILED_TIMEOUT",
+ "7": "RESULT_FAILED_SERVICE_INTERNAL_FAILURE",
+ "8": "RESULT_FAILED_HAL_UNAVAILABLE"
+ }
+ },
+ "android.hardware.location.ContextHubTransaction.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_LOAD_NANOAPP",
+ "1": "TYPE_UNLOAD_NANOAPP",
+ "2": "TYPE_ENABLE_NANOAPP",
+ "3": "TYPE_DISABLE_NANOAPP",
+ "4": "TYPE_QUERY_NANOAPPS"
+ }
+ },
+ "android.hardware.radio.Announcement.Type": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_EMERGENCY",
+ "2": "TYPE_WARNING",
+ "3": "TYPE_TRAFFIC",
+ "4": "TYPE_WEATHER",
+ "5": "TYPE_NEWS",
+ "6": "TYPE_EVENT",
+ "7": "TYPE_SPORT",
+ "8": "TYPE_MISC"
+ }
+ },
+ "android.hardware.radio.ProgramSelector.IdentifierType": {
+ "flag": false,
+ "values": {
+ "0": "IDENTIFIER_TYPE_INVALID",
+ "1": "IDENTIFIER_TYPE_AMFM_FREQUENCY",
+ "2": "IDENTIFIER_TYPE_RDS_PI",
+ "3": "IDENTIFIER_TYPE_HD_STATION_ID_EXT",
+ "4": "IDENTIFIER_TYPE_HD_SUBCHANNEL",
+ "10004": "IDENTIFIER_TYPE_HD_STATION_NAME",
+ "5": "IDENTIFIER_TYPE_DAB_SIDECC",
+ "6": "IDENTIFIER_TYPE_DAB_ENSEMBLE",
+ "7": "IDENTIFIER_TYPE_DAB_SCID",
+ "8": "IDENTIFIER_TYPE_DAB_FREQUENCY",
+ "9": "IDENTIFIER_TYPE_DRMO_SERVICE_ID",
+ "10": "IDENTIFIER_TYPE_DRMO_FREQUENCY",
+ "11": "IDENTIFIER_TYPE_DRMO_MODULATION",
+ "12": "IDENTIFIER_TYPE_SXM_SERVICE_ID",
+ "13": "IDENTIFIER_TYPE_SXM_CHANNEL"
+ }
+ },
+ "android.hardware.radio.ProgramSelector.ProgramType": {
+ "flag": false,
+ "values": {
+ "0": "PROGRAM_TYPE_INVALID",
+ "1": "PROGRAM_TYPE_AM",
+ "2": "PROGRAM_TYPE_FM",
+ "3": "PROGRAM_TYPE_AM_HD",
+ "4": "PROGRAM_TYPE_FM_HD",
+ "5": "PROGRAM_TYPE_DAB",
+ "6": "PROGRAM_TYPE_DRMO",
+ "7": "PROGRAM_TYPE_SXM"
+ }
+ },
+ "android.hardware.radio.RadioManager.Band": {
+ "flag": false,
+ "values": {
+ "-1": "BAND_INVALID",
+ "0": "BAND_AM",
+ "1": "BAND_FM",
+ "3": "BAND_AM_HD",
+ "2": "BAND_FM_HD"
+ }
+ },
+ "android.hardware.radio.RadioManager.ConfigFlag": {
+ "flag": false,
+ "values": {
+ "1": "CONFIG_FORCE_MONO",
+ "2": "CONFIG_FORCE_ANALOG",
+ "3": "CONFIG_FORCE_DIGITAL",
+ "4": "CONFIG_RDS_AF",
+ "5": "CONFIG_RDS_REG",
+ "6": "CONFIG_DAB_DAB_LINKING",
+ "7": "CONFIG_DAB_FM_LINKING",
+ "8": "CONFIG_DAB_DAB_SOFT_LINKING",
+ "9": "CONFIG_DAB_FM_SOFT_LINKING"
+ }
+ },
+ "android.hardware.soundtrigger.KeyphraseEnrollmentInfo.ManageActions": {
+ "flag": false,
+ "values": {
+ "0": "MANAGE_ACTION_ENROLL",
+ "1": "MANAGE_ACTION_RE_ENROLL",
+ "2": "MANAGE_ACTION_UN_ENROLL"
+ }
+ },
+ "android.hardware.soundtrigger.SoundTrigger.ModuleProperties.AudioCapabilities": {
+ "flag": true,
+ "values": {
+ "1": "AUDIO_CAPABILITY_ECHO_CANCELLATION",
+ "2": "AUDIO_CAPABILITY_NOISE_SUPPRESSION"
+ }
+ },
+ "android.hardware.soundtrigger.SoundTrigger.RecognitionModes": {
+ "flag": true,
+ "values": {
+ "1": "RECOGNITION_MODE_VOICE_TRIGGER",
+ "2": "RECOGNITION_MODE_USER_IDENTIFICATION",
+ "4": "RECOGNITION_MODE_USER_AUTHENTICATION",
+ "8": "RECOGNITION_MODE_GENERIC"
+ }
+ },
+ "android.hardware.soundtrigger.SoundTrigger.SoundModel.SoundModelType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_GENERIC_SOUND",
+ "0": "TYPE_KEYPHRASE",
+ "-1": "TYPE_UNKNOWN"
+ }
+ },
+ "android.hardware.usb.UsbManager.UsbGadgetHalVersion": {
+ "flag": true,
+ "values": {
+ "-1": "GADGET_HAL_NOT_SUPPORTED",
+ "10": "GADGET_HAL_V1_0",
+ "11": "GADGET_HAL_V1_1",
+ "12": "GADGET_HAL_V1_2"
+ }
+ },
+ "android.hardware.usb.UsbPortStatus.ContaminantDetectionStatus": {
+ "flag": true,
+ "values": {
+ "0": "CONTAMINANT_DETECTION_NOT_SUPPORTED",
+ "1": "CONTAMINANT_DETECTION_DISABLED",
+ "2": "CONTAMINANT_DETECTION_NOT_DETECTED",
+ "3": "CONTAMINANT_DETECTION_DETECTED"
+ }
+ },
+ "android.hardware.usb.UsbPortStatus.ContaminantProtectionStatus": {
+ "flag": true,
+ "values": {
+ "0": "CONTAMINANT_PROTECTION_NONE",
+ "1": "CONTAMINANT_PROTECTION_SINK",
+ "2": "CONTAMINANT_PROTECTION_SOURCE",
+ "4": "CONTAMINANT_PROTECTION_FORCE_DISABLE",
+ "8": "CONTAMINANT_PROTECTION_DISABLED"
+ }
+ },
+ "android.hardware.usb.UsbPortStatus.UsbDataRole": {
+ "flag": false,
+ "values": {
+ "0": "DATA_ROLE_NONE",
+ "1": "DATA_ROLE_HOST",
+ "2": "DATA_ROLE_DEVICE"
+ }
+ },
+ "android.hardware.usb.UsbPortStatus.UsbPortMode": {
+ "flag": true,
+ "values": {
+ "0": "MODE_NONE",
+ "2": "MODE_DFP",
+ "1": "MODE_UFP",
+ "4": "MODE_AUDIO_ACCESSORY",
+ "8": "MODE_DEBUG_ACCESSORY"
+ }
+ },
+ "android.hardware.usb.UsbPortStatus.UsbPowerRole": {
+ "flag": false,
+ "values": {
+ "0": "POWER_ROLE_NONE",
+ "1": "POWER_ROLE_SOURCE",
+ "2": "POWER_ROLE_SINK"
+ }
+ },
+ "android.inputmethodservice.InputMethodService.BackDispositionMode": {
+ "flag": false,
+ "values": {
+ "0": "BACK_DISPOSITION_DEFAULT",
+ "1": "BACK_DISPOSITION_WILL_NOT_DISMISS",
+ "2": "BACK_DISPOSITION_WILL_DISMISS",
+ "3": "BACK_DISPOSITION_ADJUST_NOTHING"
+ }
+ },
+ "android.inputmethodservice.InputMethodService.SettingsObserver.ShowImeWithHardKeyboardType": {
+ "flag": false,
+ "values": {
+ "0": "UNKNOWN",
+ "1": "FALSE",
+ "2": "TRUE"
+ }
+ },
+ "android.inputmethodservice.MultiClientInputMethodServiceDelegateImpl.InitializationPhase": {
+ "flag": false,
+ "values": {
+ "1": "INSTANTIATED",
+ "2": "ON_BIND_CALLED",
+ "3": "INITIALIZE_CALLED",
+ "4": "ON_UNBIND_CALLED",
+ "5": "ON_DESTROY_CALLED"
+ }
+ },
+ "android.inputmethodservice.SoftInputWindow.SoftInputWindowState": {
+ "flag": false,
+ "values": {
+ "0": "TOKEN_PENDING",
+ "1": "TOKEN_SET",
+ "2": "SHOWN_AT_LEAST_ONCE",
+ "3": "REJECTED_AT_LEAST_ONCE"
+ }
+ },
+ "android.location.Criteria.AccuracyRequirement": {
+ "flag": false,
+ "values": {
+ "0": "NO_REQUIREMENT",
+ "1": "ACCURACY_LOW",
+ "2": "ACCURACY_MEDIUM",
+ "3": "ACCURACY_HIGH"
+ }
+ },
+ "android.location.Criteria.LocationAccuracyRequirement": {
+ "flag": false,
+ "values": {
+ "0": "NO_REQUIREMENT",
+ "1": "ACCURACY_FINE",
+ "2": "ACCURACY_COARSE"
+ }
+ },
+ "android.location.Criteria.PowerRequirement": {
+ "flag": false,
+ "values": {
+ "0": "NO_REQUIREMENT",
+ "1": "POWER_LOW",
+ "2": "POWER_MEDIUM",
+ "3": "POWER_HIGH"
+ }
+ },
+ "android.location.GnssMeasurement.AdrState": {
+ "flag": true,
+ "values": {
+ "1": "ADR_STATE_VALID",
+ "2": "ADR_STATE_RESET",
+ "4": "ADR_STATE_CYCLE_SLIP",
+ "8": "ADR_STATE_HALF_CYCLE_RESOLVED",
+ "16": "ADR_STATE_HALF_CYCLE_REPORTED"
+ }
+ },
+ "android.location.GnssMeasurement.MultipathIndicator": {
+ "flag": false,
+ "values": {
+ "0": "MULTIPATH_INDICATOR_UNKNOWN",
+ "1": "MULTIPATH_INDICATOR_DETECTED",
+ "2": "MULTIPATH_INDICATOR_NOT_DETECTED"
+ }
+ },
+ "android.location.GnssMeasurement.State": {
+ "flag": true,
+ "values": {
+ "1": "STATE_CODE_LOCK",
+ "2": "STATE_BIT_SYNC",
+ "4": "STATE_SUBFRAME_SYNC",
+ "8": "STATE_TOW_DECODED",
+ "16": "STATE_MSEC_AMBIGUOUS",
+ "32": "STATE_SYMBOL_SYNC",
+ "64": "STATE_GLO_STRING_SYNC",
+ "128": "STATE_GLO_TOD_DECODED",
+ "256": "STATE_BDS_D2_BIT_SYNC",
+ "512": "STATE_BDS_D2_SUBFRAME_SYNC",
+ "1024": "STATE_GAL_E1BC_CODE_LOCK",
+ "2048": "STATE_GAL_E1C_2ND_CODE_LOCK",
+ "4096": "STATE_GAL_E1B_PAGE_SYNC",
+ "8192": "STATE_SBAS_SYNC",
+ "16384": "STATE_TOW_KNOWN",
+ "32768": "STATE_GLO_TOD_KNOWN",
+ "65536": "STATE_2ND_CODE_LOCK"
+ }
+ },
+ "android.location.GnssMeasurementsEvent.Callback.GnssMeasurementsStatus": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_NOT_SUPPORTED",
+ "1": "STATUS_READY",
+ "2": "STATUS_LOCATION_DISABLED",
+ "3": "STATUS_NOT_ALLOWED"
+ }
+ },
+ "android.location.GnssNavigationMessage.Callback.GnssNavigationMessageStatus": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_NOT_SUPPORTED",
+ "1": "STATUS_READY",
+ "2": "STATUS_LOCATION_DISABLED"
+ }
+ },
+ "android.location.GnssNavigationMessage.GnssNavigationMessageStatus": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_UNKNOWN",
+ "1": "STATUS_PARITY_PASSED",
+ "2": "STATUS_PARITY_REBUILT"
+ }
+ },
+ "android.location.GnssNavigationMessage.GnssNavigationMessageType": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_UNKNOWN",
+ "257": "TYPE_GPS_L1CA",
+ "258": "TYPE_GPS_L2CNAV",
+ "259": "TYPE_GPS_L5CNAV",
+ "260": "TYPE_GPS_CNAV2",
+ "513": "TYPE_SBS",
+ "769": "TYPE_GLO_L1CA",
+ "1025": "TYPE_QZS_L1CA",
+ "1281": "TYPE_BDS_D1",
+ "1282": "TYPE_BDS_D2",
+ "1283": "TYPE_BDS_CNAV1",
+ "1284": "TYPE_BDS_CNAV2",
+ "1537": "TYPE_GAL_I",
+ "1538": "TYPE_GAL_F",
+ "1793": "TYPE_IRN_L5CA"
+ }
+ },
+ "android.location.GnssStatus.ConstellationType": {
+ "flag": false,
+ "values": {
+ "0": "CONSTELLATION_UNKNOWN",
+ "1": "CONSTELLATION_GPS",
+ "2": "CONSTELLATION_SBAS",
+ "3": "CONSTELLATION_GLONASS",
+ "4": "CONSTELLATION_QZSS",
+ "5": "CONSTELLATION_BEIDOU",
+ "6": "CONSTELLATION_GALILEO",
+ "7": "CONSTELLATION_IRNSS"
+ }
+ },
+ "android.location.LocationRequest.Quality": {
+ "flag": false,
+ "values": {
+ "104": "QUALITY_LOW_POWER",
+ "102": "QUALITY_BALANCED_POWER_ACCURACY",
+ "100": "QUALITY_HIGH_ACCURACY"
+ }
+ },
+ "android.media.AudioAttributes.AttributeContentType": {
+ "flag": false,
+ "values": {
+ "0": "CONTENT_TYPE_UNKNOWN",
+ "1": "CONTENT_TYPE_SPEECH",
+ "2": "CONTENT_TYPE_MUSIC",
+ "3": "CONTENT_TYPE_MOVIE",
+ "4": "CONTENT_TYPE_SONIFICATION"
+ }
+ },
+ "android.media.AudioAttributes.AttributeSdkUsage": {
+ "flag": false,
+ "values": {
+ "0": "USAGE_UNKNOWN",
+ "1": "USAGE_MEDIA",
+ "2": "USAGE_VOICE_COMMUNICATION",
+ "3": "USAGE_VOICE_COMMUNICATION_SIGNALLING",
+ "4": "USAGE_ALARM",
+ "5": "USAGE_NOTIFICATION",
+ "6": "USAGE_NOTIFICATION_RINGTONE",
+ "7": "USAGE_NOTIFICATION_COMMUNICATION_REQUEST",
+ "8": "USAGE_NOTIFICATION_COMMUNICATION_INSTANT",
+ "9": "USAGE_NOTIFICATION_COMMUNICATION_DELAYED",
+ "10": "USAGE_NOTIFICATION_EVENT",
+ "11": "USAGE_ASSISTANCE_ACCESSIBILITY",
+ "12": "USAGE_ASSISTANCE_NAVIGATION_GUIDANCE",
+ "13": "USAGE_ASSISTANCE_SONIFICATION",
+ "14": "USAGE_GAME",
+ "16": "USAGE_ASSISTANT"
+ }
+ },
+ "android.media.AudioAttributes.AttributeSystemUsage": {
+ "flag": false,
+ "values": {
+ "17": "USAGE_CALL_ASSISTANT",
+ "1000": "USAGE_EMERGENCY",
+ "1001": "USAGE_SAFETY",
+ "1002": "USAGE_VEHICLE_STATUS",
+ "1003": "USAGE_ANNOUNCEMENT"
+ }
+ },
+ "android.media.AudioAttributes.AttributeUsage": {
+ "flag": false,
+ "values": {
+ "0": "USAGE_UNKNOWN",
+ "1": "USAGE_MEDIA",
+ "2": "USAGE_VOICE_COMMUNICATION",
+ "3": "USAGE_VOICE_COMMUNICATION_SIGNALLING",
+ "4": "USAGE_ALARM",
+ "5": "USAGE_NOTIFICATION",
+ "6": "USAGE_NOTIFICATION_RINGTONE",
+ "7": "USAGE_NOTIFICATION_COMMUNICATION_REQUEST",
+ "8": "USAGE_NOTIFICATION_COMMUNICATION_INSTANT",
+ "9": "USAGE_NOTIFICATION_COMMUNICATION_DELAYED",
+ "10": "USAGE_NOTIFICATION_EVENT",
+ "11": "USAGE_ASSISTANCE_ACCESSIBILITY",
+ "12": "USAGE_ASSISTANCE_NAVIGATION_GUIDANCE",
+ "13": "USAGE_ASSISTANCE_SONIFICATION",
+ "14": "USAGE_GAME",
+ "16": "USAGE_ASSISTANT",
+ "17": "USAGE_CALL_ASSISTANT",
+ "1000": "USAGE_EMERGENCY",
+ "1001": "USAGE_SAFETY",
+ "1002": "USAGE_VEHICLE_STATUS",
+ "1003": "USAGE_ANNOUNCEMENT"
+ }
+ },
+ "android.media.AudioAttributes.CapturePolicy": {
+ "flag": false,
+ "values": {
+ "1": "ALLOW_CAPTURE_BY_ALL",
+ "2": "ALLOW_CAPTURE_BY_SYSTEM",
+ "3": "ALLOW_CAPTURE_BY_NONE"
+ }
+ },
+ "android.media.AudioDeviceAttributes.Role": {
+ "flag": false,
+ "values": {
+ "1": "ROLE_INPUT",
+ "2": "ROLE_OUTPUT"
+ }
+ },
+ "android.media.AudioDeviceInfo.AudioDeviceType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_BUILTIN_EARPIECE",
+ "2": "TYPE_BUILTIN_SPEAKER",
+ "3": "TYPE_WIRED_HEADSET",
+ "4": "TYPE_WIRED_HEADPHONES",
+ "7": "TYPE_BLUETOOTH_SCO",
+ "8": "TYPE_BLUETOOTH_A2DP",
+ "9": "TYPE_HDMI",
+ "13": "TYPE_DOCK",
+ "12": "TYPE_USB_ACCESSORY",
+ "11": "TYPE_USB_DEVICE",
+ "22": "TYPE_USB_HEADSET",
+ "18": "TYPE_TELEPHONY",
+ "5": "TYPE_LINE_ANALOG",
+ "10": "TYPE_HDMI_ARC",
+ "6": "TYPE_LINE_DIGITAL",
+ "14": "TYPE_FM",
+ "19": "TYPE_AUX_LINE",
+ "20": "TYPE_IP",
+ "21": "TYPE_BUS",
+ "23": "TYPE_HEARING_AID",
+ "15": "TYPE_BUILTIN_MIC",
+ "16": "TYPE_FM_TUNER",
+ "17": "TYPE_TV_TUNER",
+ "26": "TYPE_BLE_HEADSET",
+ "27": "TYPE_BLE_SPEAKER"
+ }
+ },
+ "android.media.AudioDeviceInfo.AudioDeviceTypeIn": {
+ "flag": false,
+ "values": {
+ "15": "TYPE_BUILTIN_MIC",
+ "7": "TYPE_BLUETOOTH_SCO",
+ "8": "TYPE_BLUETOOTH_A2DP",
+ "3": "TYPE_WIRED_HEADSET",
+ "9": "TYPE_HDMI",
+ "18": "TYPE_TELEPHONY",
+ "13": "TYPE_DOCK",
+ "12": "TYPE_USB_ACCESSORY",
+ "11": "TYPE_USB_DEVICE",
+ "22": "TYPE_USB_HEADSET",
+ "16": "TYPE_FM_TUNER",
+ "17": "TYPE_TV_TUNER",
+ "5": "TYPE_LINE_ANALOG",
+ "6": "TYPE_LINE_DIGITAL",
+ "20": "TYPE_IP",
+ "21": "TYPE_BUS",
+ "26": "TYPE_BLE_HEADSET"
+ }
+ },
+ "android.media.AudioDeviceInfo.AudioDeviceTypeOut": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_BUILTIN_EARPIECE",
+ "2": "TYPE_BUILTIN_SPEAKER",
+ "3": "TYPE_WIRED_HEADSET",
+ "4": "TYPE_WIRED_HEADPHONES",
+ "7": "TYPE_BLUETOOTH_SCO",
+ "8": "TYPE_BLUETOOTH_A2DP",
+ "9": "TYPE_HDMI",
+ "13": "TYPE_DOCK",
+ "12": "TYPE_USB_ACCESSORY",
+ "11": "TYPE_USB_DEVICE",
+ "22": "TYPE_USB_HEADSET",
+ "18": "TYPE_TELEPHONY",
+ "5": "TYPE_LINE_ANALOG",
+ "10": "TYPE_HDMI_ARC",
+ "6": "TYPE_LINE_DIGITAL",
+ "14": "TYPE_FM",
+ "19": "TYPE_AUX_LINE",
+ "20": "TYPE_IP",
+ "21": "TYPE_BUS",
+ "23": "TYPE_HEARING_AID",
+ "26": "TYPE_BLE_HEADSET",
+ "27": "TYPE_BLE_SPEAKER"
+ }
+ },
+ "android.media.AudioFormat.Encoding": {
+ "flag": false,
+ "values": {
+ "1": "ENCODING_DEFAULT",
+ "2": "ENCODING_PCM_16BIT",
+ "3": "ENCODING_PCM_8BIT",
+ "4": "ENCODING_PCM_FLOAT",
+ "5": "ENCODING_AC3",
+ "6": "ENCODING_E_AC3",
+ "7": "ENCODING_DTS",
+ "8": "ENCODING_DTS_HD",
+ "9": "ENCODING_MP3",
+ "10": "ENCODING_AAC_LC",
+ "11": "ENCODING_AAC_HE_V1",
+ "12": "ENCODING_AAC_HE_V2",
+ "13": "ENCODING_IEC61937",
+ "14": "ENCODING_DOLBY_TRUEHD",
+ "15": "ENCODING_AAC_ELD",
+ "16": "ENCODING_AAC_XHE",
+ "17": "ENCODING_AC4",
+ "18": "ENCODING_E_AC3_JOC",
+ "19": "ENCODING_DOLBY_MAT",
+ "20": "ENCODING_OPUS",
+ "21": "ENCODING_PCM_24BIT_PACKED",
+ "22": "ENCODING_PCM_32BIT"
+ }
+ },
+ "android.media.AudioFormat.SurroundSoundEncoding": {
+ "flag": false,
+ "values": {
+ "5": "ENCODING_AC3",
+ "6": "ENCODING_E_AC3",
+ "7": "ENCODING_DTS",
+ "8": "ENCODING_DTS_HD",
+ "10": "ENCODING_AAC_LC",
+ "14": "ENCODING_DOLBY_TRUEHD",
+ "17": "ENCODING_AC4",
+ "18": "ENCODING_E_AC3_JOC",
+ "19": "ENCODING_DOLBY_MAT"
+ }
+ },
+ "android.media.AudioManager.AudioDeviceRole": {
+ "flag": true,
+ "values": {
+ "1": "GET_DEVICES_INPUTS",
+ "2": "GET_DEVICES_OUTPUTS"
+ }
+ },
+ "android.media.AudioManager.AudioMode": {
+ "flag": false,
+ "values": {
+ "0": "MODE_NORMAL",
+ "1": "MODE_RINGTONE",
+ "2": "MODE_IN_CALL",
+ "3": "MODE_IN_COMMUNICATION",
+ "4": "MODE_CALL_SCREENING"
+ }
+ },
+ "android.media.AudioManager.DeviceVolumeBehavior": {
+ "flag": false,
+ "values": {
+ "0": "DEVICE_VOLUME_BEHAVIOR_VARIABLE",
+ "1": "DEVICE_VOLUME_BEHAVIOR_FULL",
+ "2": "DEVICE_VOLUME_BEHAVIOR_FIXED",
+ "3": "DEVICE_VOLUME_BEHAVIOR_ABSOLUTE",
+ "4": "DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE"
+ }
+ },
+ "android.media.AudioManager.DeviceVolumeBehaviorState": {
+ "flag": false,
+ "values": {
+ "-1": "DEVICE_VOLUME_BEHAVIOR_UNSET",
+ "0": "DEVICE_VOLUME_BEHAVIOR_VARIABLE",
+ "1": "DEVICE_VOLUME_BEHAVIOR_FULL",
+ "2": "DEVICE_VOLUME_BEHAVIOR_FIXED",
+ "3": "DEVICE_VOLUME_BEHAVIOR_ABSOLUTE",
+ "4": "DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE"
+ }
+ },
+ "android.media.AudioManager.FocusRequestResult": {
+ "flag": false,
+ "values": {
+ "0": "AUDIOFOCUS_REQUEST_FAILED",
+ "1": "AUDIOFOCUS_REQUEST_GRANTED",
+ "2": "AUDIOFOCUS_REQUEST_DELAYED"
+ }
+ },
+ "android.media.AudioManager.PublicStreamTypes": {
+ "flag": false,
+ "values": {
+ "0": "STREAM_VOICE_CALL",
+ "1": "STREAM_SYSTEM",
+ "2": "STREAM_RING",
+ "3": "STREAM_MUSIC",
+ "4": "STREAM_ALARM",
+ "5": "STREAM_NOTIFICATION",
+ "8": "STREAM_DTMF",
+ "10": "STREAM_ACCESSIBILITY"
+ }
+ },
+ "android.media.AudioManager.VolumeAdjustment": {
+ "flag": false,
+ "values": {
+ "1": "ADJUST_RAISE",
+ "-1": "ADJUST_LOWER",
+ "0": "ADJUST_SAME",
+ "-100": "ADJUST_MUTE",
+ "100": "ADJUST_UNMUTE",
+ "101": "ADJUST_TOGGLE_MUTE"
+ }
+ },
+ "android.media.AudioPlaybackConfiguration.PlayerState": {
+ "flag": false,
+ "values": {
+ "-1": "PLAYER_STATE_UNKNOWN",
+ "0": "PLAYER_STATE_RELEASED",
+ "1": "PLAYER_STATE_IDLE",
+ "2": "PLAYER_STATE_STARTED",
+ "3": "PLAYER_STATE_PAUSED",
+ "4": "PLAYER_STATE_STOPPED"
+ }
+ },
+ "android.media.AudioPlaybackConfiguration.PlayerType": {
+ "flag": false,
+ "values": {
+ "-1": "PLAYER_TYPE_UNKNOWN",
+ "1": "PLAYER_TYPE_JAM_AUDIOTRACK",
+ "2": "PLAYER_TYPE_JAM_MEDIAPLAYER",
+ "3": "PLAYER_TYPE_JAM_SOUNDPOOL",
+ "11": "PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE",
+ "12": "PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD"
+ }
+ },
+ "android.media.AudioPresentation.MasteringIndicationType": {
+ "flag": false,
+ "values": {
+ "0": "MASTERING_NOT_INDICATED",
+ "1": "MASTERED_FOR_STEREO",
+ "2": "MASTERED_FOR_SURROUND",
+ "3": "MASTERED_FOR_3D",
+ "4": "MASTERED_FOR_HEADPHONE"
+ }
+ },
+ "android.media.AudioRecord.ReadMode": {
+ "flag": false,
+ "values": {
+ "0": "READ_BLOCKING",
+ "1": "READ_NON_BLOCKING"
+ }
+ },
+ "android.media.AudioRecordingConfiguration.AudioSource": {
+ "flag": false,
+ "values": {
+ "0": "DEFAULT",
+ "1": "MIC",
+ "2": "VOICE_UPLINK",
+ "3": "VOICE_DOWNLINK",
+ "4": "VOICE_CALL",
+ "5": "CAMCORDER",
+ "6": "VOICE_RECOGNITION",
+ "7": "VOICE_COMMUNICATION",
+ "9": "UNPROCESSED",
+ "10": "VOICE_PERFORMANCE"
+ }
+ },
+ "android.media.AudioSystem.AudioFormatNativeEnumForBtCodec": {
+ "flag": false,
+ "values": {
+ "-1": "AUDIO_FORMAT_INVALID",
+ "0": "AUDIO_FORMAT_DEFAULT",
+ "67108864": "AUDIO_FORMAT_AAC",
+ "520093696": "AUDIO_FORMAT_SBC",
+ "536870912": "AUDIO_FORMAT_APTX",
+ "553648128": "AUDIO_FORMAT_APTX_HD",
+ "587202560": "AUDIO_FORMAT_LDAC"
+ }
+ },
+ "android.media.AudioSystem.AudioSystemError": {
+ "flag": false,
+ "values": {
+ "0": "SUCCESS",
+ "-1": "ERROR",
+ "-2": "BAD_VALUE",
+ "-3": "INVALID_OPERATION",
+ "-4": "PERMISSION_DENIED",
+ "-5": "NO_INIT",
+ "-6": "DEAD_OBJECT",
+ "-7": "WOULD_BLOCK"
+ }
+ },
+ "android.media.AudioTimestamp.Timebase": {
+ "flag": false,
+ "values": {
+ "0": "TIMEBASE_MONOTONIC",
+ "1": "TIMEBASE_BOOTTIME"
+ }
+ },
+ "android.media.AudioTrack.DualMonoMode": {
+ "flag": false,
+ "values": {
+ "0": "DUAL_MONO_MODE_OFF",
+ "1": "DUAL_MONO_MODE_LR",
+ "2": "DUAL_MONO_MODE_LL",
+ "3": "DUAL_MONO_MODE_RR"
+ }
+ },
+ "android.media.AudioTrack.EncapsulationMetadataType": {
+ "flag": false,
+ "values": {
+ "0": "ENCAPSULATION_METADATA_TYPE_NONE",
+ "1": "ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER",
+ "2": "ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR"
+ }
+ },
+ "android.media.AudioTrack.EncapsulationMode": {
+ "flag": false,
+ "values": {
+ "0": "ENCAPSULATION_MODE_NONE",
+ "1": "ENCAPSULATION_MODE_ELEMENTARY_STREAM"
+ }
+ },
+ "android.media.AudioTrack.PerformanceMode": {
+ "flag": false,
+ "values": {
+ "0": "PERFORMANCE_MODE_NONE",
+ "1": "PERFORMANCE_MODE_LOW_LATENCY",
+ "2": "PERFORMANCE_MODE_POWER_SAVING"
+ }
+ },
+ "android.media.AudioTrack.TransferMode": {
+ "flag": false,
+ "values": {
+ "0": "MODE_STATIC",
+ "1": "MODE_STREAM"
+ }
+ },
+ "android.media.AudioTrack.WriteMode": {
+ "flag": false,
+ "values": {
+ "0": "WRITE_BLOCKING",
+ "1": "WRITE_NON_BLOCKING"
+ }
+ },
+ "android.media.ExifInterface.ExifStreamType": {
+ "flag": false,
+ "values": {
+ "0": "STREAM_TYPE_FULL_IMAGE_DATA",
+ "1": "STREAM_TYPE_EXIF_DATA_ONLY"
+ }
+ },
+ "android.media.ExifInterface.IfdType": {
+ "flag": false,
+ "values": {
+ "0": "IFD_TYPE_PRIMARY",
+ "1": "IFD_TYPE_EXIF",
+ "2": "IFD_TYPE_GPS",
+ "3": "IFD_TYPE_INTEROPERABILITY",
+ "4": "IFD_TYPE_THUMBNAIL",
+ "5": "IFD_TYPE_PREVIEW",
+ "6": "IFD_TYPE_ORF_MAKER_NOTE",
+ "7": "IFD_TYPE_ORF_CAMERA_SETTINGS",
+ "8": "IFD_TYPE_ORF_IMAGE_PROCESSING",
+ "9": "IFD_TYPE_PEF"
+ }
+ },
+ "android.media.MediaCas.PluginStatus": {
+ "flag": false,
+ "values": {
+ "0": "PLUGIN_STATUS_PHYSICAL_MODULE_CHANGED",
+ "1": "PLUGIN_STATUS_SESSION_NUMBER_CHANGED"
+ }
+ },
+ "android.media.MediaCas.ScramblingMode": {
+ "flag": false,
+ "values": {
+ "0": "SCRAMBLING_MODE_RESERVED",
+ "1": "SCRAMBLING_MODE_DVB_CSA1",
+ "2": "SCRAMBLING_MODE_DVB_CSA2",
+ "3": "SCRAMBLING_MODE_DVB_CSA3_STANDARD",
+ "4": "SCRAMBLING_MODE_DVB_CSA3_MINIMAL",
+ "5": "SCRAMBLING_MODE_DVB_CSA3_ENHANCE",
+ "6": "SCRAMBLING_MODE_DVB_CISSA_V1",
+ "7": "SCRAMBLING_MODE_DVB_IDSA",
+ "8": "SCRAMBLING_MODE_MULTI2",
+ "9": "SCRAMBLING_MODE_AES128",
+ "10": "SCRAMBLING_MODE_AES_ECB",
+ "11": "SCRAMBLING_MODE_AES_SCTE52",
+ "12": "SCRAMBLING_MODE_TDES_ECB",
+ "13": "SCRAMBLING_MODE_TDES_SCTE52"
+ }
+ },
+ "android.media.MediaCas.SessionUsage": {
+ "flag": false,
+ "values": {
+ "0": "SESSION_USAGE_LIVE",
+ "1": "SESSION_USAGE_PLAYBACK",
+ "2": "SESSION_USAGE_RECORD",
+ "3": "SESSION_USAGE_TIMESHIFT"
+ }
+ },
+ "android.media.MediaCodec.BufferFlag": {
+ "flag": true,
+ "values": {
+ "1": "BUFFER_FLAG_KEY_FRAME",
+ "2": "BUFFER_FLAG_CODEC_CONFIG",
+ "4": "BUFFER_FLAG_END_OF_STREAM",
+ "8": "BUFFER_FLAG_PARTIAL_FRAME",
+ "16": "BUFFER_FLAG_MUXER_DATA"
+ }
+ },
+ "android.media.MediaCodec.CodecException.ReasonCode": {
+ "flag": false,
+ "values": {
+ "1100": "ERROR_INSUFFICIENT_RESOURCE",
+ "1101": "ERROR_RECLAIMED"
+ }
+ },
+ "android.media.MediaCodec.ConfigureFlag": {
+ "flag": true,
+ "values": {
+ "1": "CONFIGURE_FLAG_ENCODE",
+ "2": "CONFIGURE_FLAG_USE_BLOCK_MODEL"
+ }
+ },
+ "android.media.MediaCodec.CryptoException.CryptoErrorCode": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_NO_KEY",
+ "2": "ERROR_KEY_EXPIRED",
+ "3": "ERROR_RESOURCE_BUSY",
+ "4": "ERROR_INSUFFICIENT_OUTPUT_PROTECTION",
+ "5": "ERROR_SESSION_NOT_OPENED",
+ "6": "ERROR_UNSUPPORTED_OPERATION",
+ "7": "ERROR_INSUFFICIENT_SECURITY",
+ "8": "ERROR_FRAME_TOO_LARGE",
+ "9": "ERROR_LOST_STATE"
+ }
+ },
+ "android.media.MediaCodec.OutputBufferInfo": {
+ "flag": false,
+ "values": {
+ "-1": "INFO_TRY_AGAIN_LATER",
+ "-2": "INFO_OUTPUT_FORMAT_CHANGED",
+ "-3": "INFO_OUTPUT_BUFFERS_CHANGED"
+ }
+ },
+ "android.media.MediaCodec.VideoScalingMode": {
+ "flag": false,
+ "values": {
+ "1": "VIDEO_SCALING_MODE_SCALE_TO_FIT",
+ "2": "VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING"
+ }
+ },
+ "android.media.MediaDrm.CertificateType": {
+ "flag": false,
+ "values": {
+ "0": "CERTIFICATE_TYPE_NONE",
+ "1": "CERTIFICATE_TYPE_X509"
+ }
+ },
+ "android.media.MediaDrm.DrmEvent": {
+ "flag": false,
+ "values": {
+ "1": "EVENT_PROVISION_REQUIRED",
+ "2": "EVENT_KEY_REQUIRED",
+ "3": "EVENT_KEY_EXPIRED",
+ "4": "EVENT_VENDOR_DEFINED",
+ "5": "EVENT_SESSION_RECLAIMED"
+ }
+ },
+ "android.media.MediaDrm.HdcpLevel": {
+ "flag": false,
+ "values": {
+ "0": "HDCP_LEVEL_UNKNOWN",
+ "1": "HDCP_NONE",
+ "2": "HDCP_V1",
+ "3": "HDCP_V2",
+ "4": "HDCP_V2_1",
+ "5": "HDCP_V2_2",
+ "6": "HDCP_V2_3",
+ "2147483647": "HDCP_NO_DIGITAL_OUTPUT"
+ }
+ },
+ "android.media.MediaDrm.KeyRequest.RequestType": {
+ "flag": false,
+ "values": {
+ "0": "REQUEST_TYPE_INITIAL",
+ "1": "REQUEST_TYPE_RENEWAL",
+ "2": "REQUEST_TYPE_RELEASE",
+ "3": "REQUEST_TYPE_NONE",
+ "4": "REQUEST_TYPE_UPDATE"
+ }
+ },
+ "android.media.MediaDrm.KeyStatus.KeyStatusCode": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_USABLE",
+ "1": "STATUS_EXPIRED",
+ "2": "STATUS_OUTPUT_NOT_ALLOWED",
+ "3": "STATUS_PENDING",
+ "4": "STATUS_INTERNAL_ERROR",
+ "5": "STATUS_USABLE_IN_FUTURE"
+ }
+ },
+ "android.media.MediaDrm.KeyType": {
+ "flag": false,
+ "values": {
+ "1": "KEY_TYPE_STREAMING",
+ "2": "KEY_TYPE_OFFLINE",
+ "3": "KEY_TYPE_RELEASE"
+ }
+ },
+ "android.media.MediaDrm.OfflineLicenseState": {
+ "flag": false,
+ "values": {
+ "0": "OFFLINE_LICENSE_STATE_UNKNOWN",
+ "1": "OFFLINE_LICENSE_STATE_USABLE",
+ "2": "OFFLINE_LICENSE_STATE_RELEASED"
+ }
+ },
+ "android.media.MediaDrm.SecurityLevel": {
+ "flag": false,
+ "values": {
+ "0": "SECURITY_LEVEL_UNKNOWN",
+ "1": "SECURITY_LEVEL_SW_SECURE_CRYPTO",
+ "2": "SECURITY_LEVEL_SW_SECURE_DECODE",
+ "3": "SECURITY_LEVEL_HW_SECURE_CRYPTO",
+ "4": "SECURITY_LEVEL_HW_SECURE_DECODE",
+ "5": "SECURITY_LEVEL_HW_SECURE_ALL"
+ }
+ },
+ "android.media.MediaDrm.SessionException.SessionErrorCode": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_RESOURCE_CONTENTION"
+ }
+ },
+ "android.media.MediaExtractor.SampleFlag": {
+ "flag": true,
+ "values": {
+ "1": "SAMPLE_FLAG_SYNC",
+ "2": "SAMPLE_FLAG_ENCRYPTED",
+ "4": "SAMPLE_FLAG_PARTIAL_FRAME"
+ }
+ },
+ "android.media.MediaExtractor.SeekMode": {
+ "flag": false,
+ "values": {
+ "0": "SEEK_TO_PREVIOUS_SYNC",
+ "1": "SEEK_TO_NEXT_SYNC",
+ "2": "SEEK_TO_CLOSEST_SYNC"
+ }
+ },
+ "android.media.MediaFormat.ColorRange": {
+ "flag": false,
+ "values": {
+ "2": "COLOR_RANGE_LIMITED",
+ "1": "COLOR_RANGE_FULL"
+ }
+ },
+ "android.media.MediaFormat.ColorStandard": {
+ "flag": false,
+ "values": {
+ "1": "COLOR_STANDARD_BT709",
+ "2": "COLOR_STANDARD_BT601_PAL",
+ "4": "COLOR_STANDARD_BT601_NTSC",
+ "6": "COLOR_STANDARD_BT2020"
+ }
+ },
+ "android.media.MediaFormat.ColorTransfer": {
+ "flag": false,
+ "values": {
+ "1": "COLOR_TRANSFER_LINEAR",
+ "3": "COLOR_TRANSFER_SDR_VIDEO",
+ "6": "COLOR_TRANSFER_ST2084",
+ "7": "COLOR_TRANSFER_HLG"
+ }
+ },
+ "android.media.MediaFormat.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_NULL",
+ "1": "TYPE_INTEGER",
+ "2": "TYPE_LONG",
+ "3": "TYPE_FLOAT",
+ "4": "TYPE_STRING",
+ "5": "TYPE_BYTE_BUFFER"
+ }
+ },
+ "android.media.MediaMetadataRetriever.Option": {
+ "flag": true,
+ "values": {
+ "0": "OPTION_PREVIOUS_SYNC",
+ "1": "OPTION_NEXT_SYNC",
+ "2": "OPTION_CLOSEST_SYNC",
+ "3": "OPTION_CLOSEST"
+ }
+ },
+ "android.media.MediaMuxer.Format": {
+ "flag": false,
+ "values": {
+ "0": "MUXER_OUTPUT_MPEG_4",
+ "1": "MUXER_OUTPUT_WEBM",
+ "2": "MUXER_OUTPUT_3GPP",
+ "3": "MUXER_OUTPUT_HEIF",
+ "4": "MUXER_OUTPUT_OGG"
+ }
+ },
+ "android.media.MediaPlayer.PlaybackRateAudioMode": {
+ "flag": false,
+ "values": {
+ "0": "PLAYBACK_RATE_AUDIO_MODE_DEFAULT",
+ "1": "PLAYBACK_RATE_AUDIO_MODE_STRETCH",
+ "2": "PLAYBACK_RATE_AUDIO_MODE_RESAMPLE"
+ }
+ },
+ "android.media.MediaPlayer.PrepareDrmStatusCode": {
+ "flag": false,
+ "values": {
+ "0": "PREPARE_DRM_STATUS_SUCCESS",
+ "1": "PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR",
+ "2": "PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR",
+ "3": "PREPARE_DRM_STATUS_PREPARATION_ERROR"
+ }
+ },
+ "android.media.MediaPlayer.SeekMode": {
+ "flag": false,
+ "values": {
+ "0": "SEEK_PREVIOUS_SYNC",
+ "1": "SEEK_NEXT_SYNC",
+ "2": "SEEK_CLOSEST_SYNC",
+ "3": "SEEK_CLOSEST"
+ }
+ },
+ "android.media.MediaPlayer.TrackInfo.TrackType": {
+ "flag": false,
+ "values": {
+ "0": "MEDIA_TRACK_TYPE_UNKNOWN",
+ "1": "MEDIA_TRACK_TYPE_VIDEO",
+ "2": "MEDIA_TRACK_TYPE_AUDIO",
+ "3": "MEDIA_TRACK_TYPE_TIMEDTEXT",
+ "4": "MEDIA_TRACK_TYPE_SUBTITLE",
+ "5": "MEDIA_TRACK_TYPE_METADATA"
+ }
+ },
+ "android.media.MediaRecorder.Source": {
+ "flag": false,
+ "values": {
+ "0": "DEFAULT",
+ "1": "MIC",
+ "2": "VOICE_UPLINK",
+ "3": "VOICE_DOWNLINK",
+ "4": "VOICE_CALL",
+ "5": "CAMCORDER",
+ "6": "VOICE_RECOGNITION",
+ "7": "VOICE_COMMUNICATION",
+ "9": "UNPROCESSED",
+ "10": "VOICE_PERFORMANCE"
+ }
+ },
+ "android.media.MediaRoute2Info.ConnectionState": {
+ "flag": false,
+ "values": {
+ "0": "CONNECTION_STATE_DISCONNECTED",
+ "1": "CONNECTION_STATE_CONNECTING",
+ "2": "CONNECTION_STATE_CONNECTED"
+ }
+ },
+ "android.media.MediaRoute2Info.PlaybackVolume": {
+ "flag": false,
+ "values": {
+ "0": "PLAYBACK_VOLUME_FIXED",
+ "1": "PLAYBACK_VOLUME_VARIABLE"
+ }
+ },
+ "android.media.MediaRoute2Info.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_UNKNOWN",
+ "2": "TYPE_BUILTIN_SPEAKER",
+ "3": "TYPE_WIRED_HEADSET",
+ "4": "TYPE_WIRED_HEADPHONES",
+ "8": "TYPE_BLUETOOTH_A2DP",
+ "9": "TYPE_HDMI",
+ "11": "TYPE_USB_DEVICE",
+ "12": "TYPE_USB_ACCESSORY",
+ "13": "TYPE_DOCK",
+ "22": "TYPE_USB_HEADSET",
+ "23": "TYPE_HEARING_AID",
+ "1001": "TYPE_REMOTE_TV",
+ "1002": "TYPE_REMOTE_SPEAKER",
+ "2000": "TYPE_GROUP"
+ }
+ },
+ "android.media.MediaRoute2ProviderService.Reason": {
+ "flag": false,
+ "values": {
+ "0": "REASON_UNKNOWN_ERROR",
+ "1": "REASON_REJECTED",
+ "2": "REASON_NETWORK_ERROR",
+ "3": "REASON_ROUTE_NOT_AVAILABLE",
+ "4": "REASON_INVALID_COMMAND"
+ }
+ },
+ "android.media.MediaRouter.RouteInfo.DeviceType": {
+ "flag": false,
+ "values": {
+ "0": "DEVICE_TYPE_UNKNOWN",
+ "1": "DEVICE_TYPE_TV",
+ "2": "DEVICE_TYPE_SPEAKER",
+ "3": "DEVICE_TYPE_BLUETOOTH"
+ }
+ },
+ "android.media.MediaRouter.RouteInfo.PlaybackType": {
+ "flag": false,
+ "values": {
+ "0": "PLAYBACK_TYPE_LOCAL",
+ "1": "PLAYBACK_TYPE_REMOTE"
+ }
+ },
+ "android.media.MediaRouter.RouteInfo.PlaybackVolume": {
+ "flag": false,
+ "values": {
+ "0": "PLAYBACK_VOLUME_FIXED",
+ "1": "PLAYBACK_VOLUME_VARIABLE"
+ }
+ },
+ "android.media.MediaTranscodeManager.TranscodingPriority": {
+ "flag": false,
+ "values": {
+ "0": "PRIORITY_UNKNOWN",
+ "1": "PRIORITY_REALTIME",
+ "2": "PRIORITY_OFFLINE"
+ }
+ },
+ "android.media.MediaTranscodeManager.TranscodingSession.Result": {
+ "flag": false,
+ "values": {
+ "1": "RESULT_NONE",
+ "2": "RESULT_SUCCESS",
+ "3": "RESULT_ERROR",
+ "4": "RESULT_CANCELED"
+ }
+ },
+ "android.media.MediaTranscodeManager.TranscodingSession.Status": {
+ "flag": false,
+ "values": {
+ "1": "STATUS_PENDING",
+ "2": "STATUS_RUNNING",
+ "3": "STATUS_FINISHED",
+ "4": "STATUS_PAUSED"
+ }
+ },
+ "android.media.MediaTranscodeManager.TranscodingType": {
+ "flag": false,
+ "values": {
+ "0": "TRANSCODING_TYPE_UNKNOWN",
+ "1": "TRANSCODING_TYPE_VIDEO",
+ "2": "TRANSCODING_TYPE_IMAGE"
+ }
+ },
+ "android.media.MicrophoneDirection.DirectionMode": {
+ "flag": false,
+ "values": {
+ "0": "MIC_DIRECTION_UNSPECIFIED",
+ "1": "MIC_DIRECTION_TOWARDS_USER",
+ "2": "MIC_DIRECTION_AWAY_FROM_USER",
+ "3": "MIC_DIRECTION_EXTERNAL"
+ }
+ },
+ "android.media.MicrophoneInfo.MicrophoneDirectionality": {
+ "values": {
+ "0": "DIRECTIONALITY_UNKNOWN",
+ "1": "DIRECTIONALITY_OMNI",
+ "2": "DIRECTIONALITY_BI_DIRECTIONAL",
+ "3": "DIRECTIONALITY_CARDIOID",
+ "4": "DIRECTIONALITY_HYPER_CARDIOID",
+ "5": "DIRECTIONALITY_SUPER_CARDIOID"
+ }
+ },
+ "android.media.MicrophoneInfo.MicrophoneLocation": {
+ "values": {
+ "0": "LOCATION_UNKNOWN",
+ "1": "LOCATION_MAINBODY",
+ "2": "LOCATION_MAINBODY_MOVABLE",
+ "3": "LOCATION_PERIPHERAL"
+ }
+ },
+ "android.media.PlaybackParams.AudioFallbackMode": {
+ "flag": false,
+ "values": {
+ "0": "AUDIO_FALLBACK_MODE_DEFAULT",
+ "1": "AUDIO_FALLBACK_MODE_MUTE",
+ "2": "AUDIO_FALLBACK_MODE_FAIL"
+ }
+ },
+ "android.media.PlaybackParams.AudioStretchMode": {
+ "flag": false,
+ "values": {
+ "0": "AUDIO_STRETCH_MODE_DEFAULT",
+ "1": "AUDIO_STRETCH_MODE_VOICE"
+ }
+ },
+ "android.media.Rating.StarStyle": {
+ "flag": false,
+ "values": {
+ "3": "RATING_3_STARS",
+ "4": "RATING_4_STARS",
+ "5": "RATING_5_STARS"
+ }
+ },
+ "android.media.Rating.Style": {
+ "flag": false,
+ "values": {
+ "0": "RATING_NONE",
+ "1": "RATING_HEART",
+ "2": "RATING_THUMB_UP_DOWN",
+ "3": "RATING_3_STARS",
+ "4": "RATING_4_STARS",
+ "5": "RATING_5_STARS",
+ "6": "RATING_PERCENTAGE"
+ }
+ },
+ "android.media.SyncParams.AudioAdjustMode": {
+ "flag": false,
+ "values": {
+ "0": "AUDIO_ADJUST_MODE_DEFAULT",
+ "1": "AUDIO_ADJUST_MODE_STRETCH",
+ "2": "AUDIO_ADJUST_MODE_RESAMPLE"
+ }
+ },
+ "android.media.SyncParams.SyncSource": {
+ "flag": false,
+ "values": {
+ "0": "SYNC_SOURCE_DEFAULT",
+ "1": "SYNC_SOURCE_SYSTEM_CLOCK",
+ "2": "SYNC_SOURCE_AUDIO",
+ "3": "SYNC_SOURCE_VSYNC"
+ }
+ },
+ "android.media.VolumeProvider.ControlType": {
+ "flag": false,
+ "values": {
+ "0": "VOLUME_CONTROL_FIXED",
+ "1": "VOLUME_CONTROL_RELATIVE",
+ "2": "VOLUME_CONTROL_ABSOLUTE"
+ }
+ },
+ "android.media.VolumeShaper.Configuration.InterpolatorType": {
+ "flag": false,
+ "values": {
+ "0": "INTERPOLATOR_TYPE_STEP",
+ "1": "INTERPOLATOR_TYPE_LINEAR",
+ "2": "INTERPOLATOR_TYPE_CUBIC",
+ "3": "INTERPOLATOR_TYPE_CUBIC_MONOTONIC"
+ }
+ },
+ "android.media.VolumeShaper.Configuration.OptionFlag": {
+ "flag": false,
+ "values": {
+ "1": "OPTION_FLAG_VOLUME_IN_DBFS",
+ "2": "OPTION_FLAG_CLOCK_TIME"
+ }
+ },
+ "android.media.VolumeShaper.Configuration.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_ID",
+ "1": "TYPE_SCALE"
+ }
+ },
+ "android.media.VolumeShaper.Operation.Flag": {
+ "flag": false,
+ "values": {
+ "0": "FLAG_NONE",
+ "1": "FLAG_REVERSE",
+ "2": "FLAG_TERMINATE",
+ "4": "FLAG_JOIN",
+ "8": "FLAG_DEFER"
+ }
+ },
+ "android.media.audiofx.Virtualizer.ForceVirtualizationMode": {
+ "flag": false,
+ "values": {
+ "1": "VIRTUALIZATION_MODE_AUTO",
+ "2": "VIRTUALIZATION_MODE_BINAURAL",
+ "3": "VIRTUALIZATION_MODE_TRANSAURAL"
+ }
+ },
+ "android.media.audiofx.Virtualizer.VirtualizationMode": {
+ "flag": false,
+ "values": {
+ "2": "VIRTUALIZATION_MODE_BINAURAL",
+ "3": "VIRTUALIZATION_MODE_TRANSAURAL"
+ }
+ },
+ "android.media.audiopolicy.AudioMix.RouteFlags": {
+ "flag": true,
+ "values": {
+ "1": "ROUTE_FLAG_RENDER",
+ "2": "ROUTE_FLAG_LOOP_BACK"
+ }
+ },
+ "android.media.audiopolicy.AudioPolicy.PolicyStatus": {
+ "flag": false,
+ "values": {
+ "2": "POLICY_STATUS_REGISTERED",
+ "1": "POLICY_STATUS_UNREGISTERED"
+ }
+ },
+ "android.media.browse.MediaBrowser.MediaItem.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_BROWSABLE",
+ "2": "FLAG_PLAYABLE"
+ }
+ },
+ "android.media.musicrecognition.MusicRecognitionManager.RecognitionFailureCode": {
+ "flag": false,
+ "values": {
+ "-1": "RECOGNITION_FAILED_UNKNOWN",
+ "1": "RECOGNITION_FAILED_NOT_FOUND",
+ "2": "RECOGNITION_FAILED_NO_CONNECTIVITY",
+ "3": "RECOGNITION_FAILED_SERVICE_UNAVAILABLE",
+ "5": "RECOGNITION_FAILED_SERVICE_KILLED",
+ "6": "RECOGNITION_FAILED_TIMEOUT",
+ "7": "RECOGNITION_FAILED_AUDIO_UNAVAILABLE"
+ }
+ },
+ "android.media.session.MediaController.PlaybackInfo.PlaybackType": {
+ "flag": false,
+ "values": {
+ "1": "PLAYBACK_TYPE_LOCAL",
+ "2": "PLAYBACK_TYPE_REMOTE"
+ }
+ },
+ "android.media.session.MediaSession.SessionFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_HANDLES_MEDIA_BUTTONS",
+ "2": "FLAG_HANDLES_TRANSPORT_CONTROLS",
+ "65536": "FLAG_EXCLUSIVE_GLOBAL_PRIORITY"
+ }
+ },
+ "android.media.session.PlaybackState.State": {
+ "flag": false,
+ "values": {
+ "0": "STATE_NONE",
+ "1": "STATE_STOPPED",
+ "2": "STATE_PAUSED",
+ "3": "STATE_PLAYING",
+ "4": "STATE_FAST_FORWARDING",
+ "5": "STATE_REWINDING",
+ "6": "STATE_BUFFERING",
+ "7": "STATE_ERROR",
+ "8": "STATE_CONNECTING",
+ "9": "STATE_SKIPPING_TO_PREVIOUS",
+ "10": "STATE_SKIPPING_TO_NEXT",
+ "11": "STATE_SKIPPING_TO_QUEUE_ITEM"
+ }
+ },
+ "android.media.soundtrigger.SoundTriggerDetector.RecognitionFlags": {
+ "flag": true,
+ "values": {
+ "0": "RECOGNITION_FLAG_NONE",
+ "1": "RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO",
+ "2": "RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS",
+ "4": "RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION",
+ "8": "RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION"
+ }
+ },
+ "android.media.tv.TunedInfo.AppType": {
+ "flag": false,
+ "values": {
+ "1": "APP_TYPE_SELF",
+ "2": "APP_TYPE_SYSTEM",
+ "3": "APP_TYPE_NON_SYSTEM"
+ }
+ },
+ "android.media.tv.TvContract.PreviewProgramColumns.AspectRatio": {
+ "flag": false,
+ "values": {
+ "0": "ASPECT_RATIO_16_9",
+ "1": "ASPECT_RATIO_3_2",
+ "3": "ASPECT_RATIO_1_1",
+ "4": "ASPECT_RATIO_2_3",
+ "2": "ASPECT_RATIO_4_3"
+ }
+ },
+ "android.media.tv.TvContract.PreviewProgramColumns.Availability": {
+ "flag": false,
+ "values": {
+ "0": "AVAILABILITY_AVAILABLE",
+ "1": "AVAILABILITY_FREE_WITH_SUBSCRIPTION",
+ "2": "AVAILABILITY_PAID_CONTENT"
+ }
+ },
+ "android.media.tv.TvContract.PreviewProgramColumns.InteractionType": {
+ "flag": false,
+ "values": {
+ "0": "INTERACTION_TYPE_VIEWS",
+ "1": "INTERACTION_TYPE_LISTENS",
+ "2": "INTERACTION_TYPE_FOLLOWERS",
+ "3": "INTERACTION_TYPE_FANS",
+ "4": "INTERACTION_TYPE_LIKES",
+ "5": "INTERACTION_TYPE_THUMBS",
+ "6": "INTERACTION_TYPE_VIEWERS"
+ }
+ },
+ "android.media.tv.TvContract.PreviewProgramColumns.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_MOVIE",
+ "1": "TYPE_TV_SERIES",
+ "2": "TYPE_TV_SEASON",
+ "3": "TYPE_TV_EPISODE",
+ "4": "TYPE_CLIP",
+ "5": "TYPE_EVENT",
+ "6": "TYPE_CHANNEL",
+ "7": "TYPE_TRACK",
+ "8": "TYPE_ALBUM",
+ "9": "TYPE_ARTIST",
+ "10": "TYPE_PLAYLIST",
+ "11": "TYPE_STATION"
+ }
+ },
+ "android.media.tv.TvContract.ProgramColumns.ReviewRatingStyle": {
+ "flag": false,
+ "values": {
+ "0": "REVIEW_RATING_STYLE_STARS",
+ "1": "REVIEW_RATING_STYLE_THUMBS_UP_DOWN",
+ "2": "REVIEW_RATING_STYLE_PERCENTAGE"
+ }
+ },
+ "android.media.tv.TvContract.WatchNextPrograms.WatchNextType": {
+ "flag": false,
+ "values": {
+ "0": "WATCH_NEXT_TYPE_CONTINUE",
+ "1": "WATCH_NEXT_TYPE_NEXT",
+ "2": "WATCH_NEXT_TYPE_NEW",
+ "3": "WATCH_NEXT_TYPE_WATCHLIST"
+ }
+ },
+ "android.media.tv.TvInputHardwareInfo.CableConnectionStatus": {
+ "flag": false,
+ "values": {
+ "0": "CABLE_CONNECTION_STATUS_UNKNOWN",
+ "1": "CABLE_CONNECTION_STATUS_CONNECTED",
+ "2": "CABLE_CONNECTION_STATUS_DISCONNECTED"
+ }
+ },
+ "android.media.tv.TvInputInfo.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_TUNER",
+ "1000": "TYPE_OTHER",
+ "1001": "TYPE_COMPOSITE",
+ "1002": "TYPE_SVIDEO",
+ "1003": "TYPE_SCART",
+ "1004": "TYPE_COMPONENT",
+ "1005": "TYPE_VGA",
+ "1006": "TYPE_DVI",
+ "1007": "TYPE_HDMI",
+ "1008": "TYPE_DISPLAY_PORT"
+ }
+ },
+ "android.media.tv.TvInputManager.DvbDeviceType": {
+ "flag": false,
+ "values": {
+ "0": "DVB_DEVICE_DEMUX",
+ "1": "DVB_DEVICE_DVR",
+ "2": "DVB_DEVICE_FRONTEND"
+ }
+ },
+ "android.media.tv.TvInputManager.InputState": {
+ "flag": false,
+ "values": {
+ "0": "INPUT_STATE_CONNECTED",
+ "1": "INPUT_STATE_CONNECTED_STANDBY",
+ "2": "INPUT_STATE_DISCONNECTED"
+ }
+ },
+ "android.media.tv.TvInputManager.RecordingError": {
+ "flag": false,
+ "values": {
+ "0": "RECORDING_ERROR_UNKNOWN",
+ "1": "RECORDING_ERROR_INSUFFICIENT_SPACE",
+ "2": "RECORDING_ERROR_RESOURCE_BUSY"
+ }
+ },
+ "android.media.tv.TvInputManager.TimeShiftStatus": {
+ "flag": false,
+ "values": {
+ "0": "TIME_SHIFT_STATUS_UNKNOWN",
+ "1": "TIME_SHIFT_STATUS_UNSUPPORTED",
+ "2": "TIME_SHIFT_STATUS_UNAVAILABLE",
+ "3": "TIME_SHIFT_STATUS_AVAILABLE"
+ }
+ },
+ "android.media.tv.TvInputManager.VideoUnavailableReason": {
+ "flag": false,
+ "values": {
+ "0": "VIDEO_UNAVAILABLE_REASON_UNKNOWN",
+ "1": "VIDEO_UNAVAILABLE_REASON_TUNING",
+ "2": "VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL",
+ "3": "VIDEO_UNAVAILABLE_REASON_BUFFERING",
+ "4": "VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY",
+ "6": "VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE",
+ "7": "VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION",
+ "8": "VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED",
+ "9": "VIDEO_UNAVAILABLE_REASON_CAS_NO_LICENSE",
+ "10": "VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED",
+ "11": "VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION",
+ "12": "VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING",
+ "13": "VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD",
+ "14": "VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE",
+ "15": "VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID",
+ "16": "VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT",
+ "17": "VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING",
+ "18": "VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN"
+ }
+ },
+ "android.media.tv.TvInputService.PriorityHintUseCaseType": {
+ "flag": false,
+ "values": {
+ "100": "PRIORITY_HINT_USE_CASE_TYPE_BACKGROUND",
+ "200": "PRIORITY_HINT_USE_CASE_TYPE_SCAN",
+ "300": "PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK",
+ "400": "PRIORITY_HINT_USE_CASE_TYPE_LIVE",
+ "500": "PRIORITY_HINT_USE_CASE_TYPE_RECORD"
+ }
+ },
+ "android.media.tv.TvTrackInfo.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_AUDIO",
+ "1": "TYPE_VIDEO",
+ "2": "TYPE_SUBTITLE"
+ }
+ },
+ "android.media.tv.tuner.DemuxCapabilities.FilterCapabilities": {
+ "flag": true,
+ "values": {
+ "1": "TYPE_TS",
+ "2": "TYPE_MMTP",
+ "4": "TYPE_IP",
+ "8": "TYPE_TLV",
+ "16": "TYPE_ALP"
+ }
+ },
+ "android.media.tv.tuner.Descrambler.PidType": {
+ "flag": false,
+ "values": {
+ "1": "PID_TYPE_T",
+ "2": "PID_TYPE_MMTP"
+ }
+ },
+ "android.media.tv.tuner.Lnb.EventType": {
+ "flag": false,
+ "values": {
+ "0": "EVENT_TYPE_DISEQC_RX_OVERFLOW",
+ "1": "EVENT_TYPE_DISEQC_RX_TIMEOUT",
+ "2": "EVENT_TYPE_DISEQC_RX_PARITY_ERROR",
+ "3": "EVENT_TYPE_LNB_OVERLOAD"
+ }
+ },
+ "android.media.tv.tuner.Lnb.Position": {
+ "flag": false,
+ "values": {
+ "0": "POSITION_UNDEFINED",
+ "1": "POSITION_A",
+ "2": "POSITION_B"
+ }
+ },
+ "android.media.tv.tuner.Lnb.Tone": {
+ "flag": false,
+ "values": {
+ "0": "TONE_NONE",
+ "1": "TONE_CONTINUOUS"
+ }
+ },
+ "android.media.tv.tuner.Lnb.Voltage": {
+ "flag": false,
+ "values": {
+ "0": "VOLTAGE_NONE",
+ "1": "VOLTAGE_5V",
+ "2": "VOLTAGE_11V",
+ "3": "VOLTAGE_12V",
+ "4": "VOLTAGE_13V",
+ "5": "VOLTAGE_14V",
+ "6": "VOLTAGE_15V",
+ "7": "VOLTAGE_18V",
+ "8": "VOLTAGE_19V"
+ }
+ },
+ "android.media.tv.tuner.Tuner.DvrType": {
+ "flag": false,
+ "values": {
+ "0": "DVR_TYPE_RECORD",
+ "1": "DVR_TYPE_PLAYBACK"
+ }
+ },
+ "android.media.tv.tuner.Tuner.Result": {
+ "flag": false,
+ "values": {
+ "0": "RESULT_SUCCESS",
+ "1": "RESULT_UNAVAILABLE",
+ "2": "RESULT_NOT_INITIALIZED",
+ "3": "RESULT_INVALID_STATE",
+ "4": "RESULT_INVALID_ARGUMENT",
+ "5": "RESULT_OUT_OF_MEMORY",
+ "6": "RESULT_UNKNOWN_ERROR"
+ }
+ },
+ "android.media.tv.tuner.Tuner.ScanType": {
+ "flag": false,
+ "values": {
+ "0": "SCAN_TYPE_UNDEFINED",
+ "1": "SCAN_TYPE_AUTO",
+ "2": "SCAN_TYPE_BLIND"
+ }
+ },
+ "android.media.tv.tuner.TunerVersionChecker.TunerVersion": {
+ "flag": false,
+ "values": {
+ "0": "TUNER_VERSION_UNKNOWN",
+ "65536": "TUNER_VERSION_1_0",
+ "65537": "TUNER_VERSION_1_1"
+ }
+ },
+ "android.media.tv.tuner.dvr.DvrPlayback.PlaybackStatus": {
+ "flag": false,
+ "values": {
+ "1": "PLAYBACK_STATUS_EMPTY",
+ "2": "PLAYBACK_STATUS_ALMOST_EMPTY",
+ "4": "PLAYBACK_STATUS_ALMOST_FULL",
+ "8": "PLAYBACK_STATUS_FULL"
+ }
+ },
+ "android.media.tv.tuner.dvr.DvrSettings.DataFormat": {
+ "flag": false,
+ "values": {
+ "0": "DATA_FORMAT_TS",
+ "1": "DATA_FORMAT_PES",
+ "2": "DATA_FORMAT_ES",
+ "3": "DATA_FORMAT_SHV_TLV"
+ }
+ },
+ "android.media.tv.tuner.filter.AlpFilterConfiguration.LengthType": {
+ "flag": false,
+ "values": {
+ "0": "LENGTH_TYPE_UNDEFINED",
+ "1": "LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER",
+ "2": "LENGTH_TYPE_WITH_ADDITIONAL_HEADER"
+ }
+ },
+ "android.media.tv.tuner.filter.AvSettings.AudioStreamType": {
+ "flag": false,
+ "values": {
+ "0": "AUDIO_STREAM_TYPE_UNDEFINED",
+ "1": "AUDIO_STREAM_TYPE_PCM",
+ "2": "AUDIO_STREAM_TYPE_MP3",
+ "3": "AUDIO_STREAM_TYPE_MPEG1",
+ "4": "AUDIO_STREAM_TYPE_MPEG2",
+ "5": "AUDIO_STREAM_TYPE_MPEGH",
+ "6": "AUDIO_STREAM_TYPE_AAC",
+ "7": "AUDIO_STREAM_TYPE_AC3",
+ "8": "AUDIO_STREAM_TYPE_EAC3",
+ "9": "AUDIO_STREAM_TYPE_AC4",
+ "10": "AUDIO_STREAM_TYPE_DTS",
+ "11": "AUDIO_STREAM_TYPE_DTS_HD",
+ "12": "AUDIO_STREAM_TYPE_WMA",
+ "13": "AUDIO_STREAM_TYPE_OPUS",
+ "14": "AUDIO_STREAM_TYPE_VORBIS",
+ "15": "AUDIO_STREAM_TYPE_DRA"
+ }
+ },
+ "android.media.tv.tuner.filter.AvSettings.VideoStreamType": {
+ "flag": false,
+ "values": {
+ "0": "VIDEO_STREAM_TYPE_UNDEFINED",
+ "1": "VIDEO_STREAM_TYPE_RESERVED",
+ "2": "VIDEO_STREAM_TYPE_MPEG1",
+ "3": "VIDEO_STREAM_TYPE_MPEG2",
+ "4": "VIDEO_STREAM_TYPE_MPEG4P2",
+ "5": "VIDEO_STREAM_TYPE_AVC",
+ "6": "VIDEO_STREAM_TYPE_HEVC",
+ "7": "VIDEO_STREAM_TYPE_VC1",
+ "8": "VIDEO_STREAM_TYPE_VP8",
+ "9": "VIDEO_STREAM_TYPE_VP9",
+ "10": "VIDEO_STREAM_TYPE_AV1",
+ "11": "VIDEO_STREAM_TYPE_AVS",
+ "12": "VIDEO_STREAM_TYPE_AVS2"
+ }
+ },
+ "android.media.tv.tuner.filter.Filter.MonitorEventTypeMask": {
+ "flag": true,
+ "values": {
+ "1": "MONITOR_EVENT_SCRAMBLING_STATUS",
+ "2": "MONITOR_EVENT_IP_CID_CHANGE"
+ }
+ },
+ "android.media.tv.tuner.filter.Filter.ScramblingStatus": {
+ "flag": true,
+ "values": {
+ "1": "SCRAMBLING_STATUS_UNKNOWN",
+ "2": "SCRAMBLING_STATUS_NOT_SCRAMBLED",
+ "4": "SCRAMBLING_STATUS_SCRAMBLED"
+ }
+ },
+ "android.media.tv.tuner.filter.Filter.Status": {
+ "flag": true,
+ "values": {
+ "1": "STATUS_DATA_READY",
+ "2": "STATUS_LOW_WATER",
+ "4": "STATUS_HIGH_WATER",
+ "8": "STATUS_OVERFLOW"
+ }
+ },
+ "android.media.tv.tuner.filter.Filter.Subtype": {
+ "flag": false,
+ "values": {
+ "0": "SUBTYPE_UNDEFINED",
+ "1": "SUBTYPE_SECTION",
+ "2": "SUBTYPE_PES",
+ "3": "SUBTYPE_AUDIO",
+ "4": "SUBTYPE_VIDEO",
+ "5": "SUBTYPE_DOWNLOAD",
+ "6": "SUBTYPE_RECORD",
+ "7": "SUBTYPE_TS",
+ "8": "SUBTYPE_PCR",
+ "9": "SUBTYPE_TEMI",
+ "10": "SUBTYPE_MMTP",
+ "11": "SUBTYPE_NTP",
+ "12": "SUBTYPE_IP_PAYLOAD",
+ "13": "SUBTYPE_IP",
+ "14": "SUBTYPE_PAYLOAD_THROUGH",
+ "15": "SUBTYPE_TLV",
+ "16": "SUBTYPE_PTP"
+ }
+ },
+ "android.media.tv.tuner.filter.Filter.Type": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_TS",
+ "2": "TYPE_MMTP",
+ "4": "TYPE_IP",
+ "8": "TYPE_TLV",
+ "16": "TYPE_ALP"
+ }
+ },
+ "android.media.tv.tuner.filter.RecordSettings.ScHevcIndex": {
+ "flag": true,
+ "values": {
+ "1": "SC_HEVC_INDEX_SPS",
+ "2": "SC_HEVC_INDEX_AUD",
+ "4": "SC_HEVC_INDEX_SLICE_CE_BLA_W_LP",
+ "8": "SC_HEVC_INDEX_SLICE_BLA_W_RADL",
+ "16": "SC_HEVC_INDEX_SLICE_BLA_N_LP",
+ "32": "SC_HEVC_INDEX_SLICE_IDR_W_RADL",
+ "64": "SC_HEVC_INDEX_SLICE_IDR_N_LP",
+ "128": "SC_HEVC_INDEX_SLICE_TRAIL_CRA"
+ }
+ },
+ "android.media.tv.tuner.filter.RecordSettings.ScIndex": {
+ "flag": true,
+ "values": {
+ "1": "SC_INDEX_I_FRAME",
+ "2": "SC_INDEX_P_FRAME",
+ "4": "SC_INDEX_B_FRAME",
+ "8": "SC_INDEX_SEQUENCE",
+ "16": "SC_INDEX_I_SLICE",
+ "32": "SC_INDEX_P_SLICE",
+ "64": "SC_INDEX_B_SLICE",
+ "128": "SC_INDEX_SI_SLICE",
+ "256": "SC_INDEX_SP_SLICE"
+ }
+ },
+ "android.media.tv.tuner.filter.RecordSettings.ScIndexMask": {
+ "flag": true,
+ "values": {
+ "1": "SC_HEVC_INDEX_SPS",
+ "2": "SC_HEVC_INDEX_AUD",
+ "4": "SC_HEVC_INDEX_SLICE_CE_BLA_W_LP",
+ "8": "SC_HEVC_INDEX_SLICE_BLA_W_RADL",
+ "16": "SC_HEVC_INDEX_SLICE_BLA_N_LP",
+ "32": "SC_HEVC_INDEX_SLICE_IDR_W_RADL",
+ "64": "SC_HEVC_INDEX_SLICE_IDR_N_LP",
+ "128": "SC_HEVC_INDEX_SLICE_TRAIL_CRA"
+ }
+ },
+ "android.media.tv.tuner.filter.RecordSettings.ScIndexType": {
+ "flag": false,
+ "values": {
+ "0": "INDEX_TYPE_NONE",
+ "1": "INDEX_TYPE_SC",
+ "2": "INDEX_TYPE_SC_HEVC"
+ }
+ },
+ "android.media.tv.tuner.filter.RecordSettings.TsIndexMask": {
+ "flag": true,
+ "values": {
+ "0": "TS_INDEX_INVALID",
+ "1": "TS_INDEX_FIRST_PACKET",
+ "2": "TS_INDEX_PAYLOAD_UNIT_START_INDICATOR",
+ "4": "TS_INDEX_CHANGE_TO_NOT_SCRAMBLED",
+ "8": "TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED",
+ "16": "TS_INDEX_CHANGE_TO_ODD_SCRAMBLED",
+ "32": "TS_INDEX_DISCONTINUITY_INDICATOR",
+ "64": "TS_INDEX_RANDOM_ACCESS_INDICATOR",
+ "128": "TS_INDEX_PRIORITY_INDICATOR",
+ "256": "TS_INDEX_PCR_FLAG",
+ "512": "TS_INDEX_OPCR_FLAG",
+ "1024": "TS_INDEX_SPLICING_POINT_FLAG",
+ "2048": "TS_INDEX_PRIVATE_DATA",
+ "4096": "TS_INDEX_ADAPTATION_EXTENSION_FLAG",
+ "65536": "MPT_INDEX_MPT",
+ "131072": "MPT_INDEX_VIDEO",
+ "262144": "MPT_INDEX_AUDIO",
+ "524288": "MPT_INDEX_TIMESTAMP_TARGET_VIDEO",
+ "1048576": "MPT_INDEX_TIMESTAMP_TARGET_AUDIO"
+ }
+ },
+ "android.media.tv.tuner.frontend.AnalogFrontendSettings.AftFlag": {
+ "flag": false,
+ "values": {
+ "0": "AFT_FLAG_UNDEFINED",
+ "1": "AFT_FLAG_TRUE",
+ "2": "AFT_FLAG_FALSE"
+ }
+ },
+ "android.media.tv.tuner.frontend.AnalogFrontendSettings.SifStandard": {
+ "flag": true,
+ "values": {
+ "0": "SIF_UNDEFINED",
+ "1": "SIF_AUTO",
+ "2": "SIF_BG",
+ "4": "SIF_BG_A2",
+ "8": "SIF_BG_NICAM",
+ "16": "SIF_I",
+ "32": "SIF_DK",
+ "64": "SIF_DK1_A2",
+ "128": "SIF_DK2_A2",
+ "256": "SIF_DK3_A2",
+ "512": "SIF_DK_NICAM",
+ "1024": "SIF_L",
+ "2048": "SIF_M",
+ "4096": "SIF_M_BTSC",
+ "8192": "SIF_M_A2",
+ "16384": "SIF_M_EIAJ",
+ "32768": "SIF_I_NICAM",
+ "65536": "SIF_L_NICAM",
+ "131072": "SIF_L_PRIME"
+ }
+ },
+ "android.media.tv.tuner.frontend.AnalogFrontendSettings.SignalType": {
+ "flag": true,
+ "values": {
+ "0": "SIGNAL_TYPE_UNDEFINED",
+ "1": "SIGNAL_TYPE_AUTO",
+ "2": "SIGNAL_TYPE_PAL",
+ "4": "SIGNAL_TYPE_PAL_M",
+ "8": "SIGNAL_TYPE_PAL_N",
+ "16": "SIGNAL_TYPE_PAL_60",
+ "32": "SIGNAL_TYPE_NTSC",
+ "64": "SIGNAL_TYPE_NTSC_443",
+ "128": "SIGNAL_TYPE_SECAM"
+ }
+ },
+ "android.media.tv.tuner.frontend.Atsc3FrontendSettings.Bandwidth": {
+ "flag": true,
+ "values": {
+ "0": "BANDWIDTH_UNDEFINED",
+ "1": "BANDWIDTH_AUTO",
+ "2": "BANDWIDTH_BANDWIDTH_6MHZ",
+ "4": "BANDWIDTH_BANDWIDTH_7MHZ",
+ "8": "BANDWIDTH_BANDWIDTH_8MHZ"
+ }
+ },
+ "android.media.tv.tuner.frontend.Atsc3FrontendSettings.CodeRate": {
+ "flag": true,
+ "values": {
+ "0": "CODERATE_UNDEFINED",
+ "1": "CODERATE_AUTO",
+ "2": "CODERATE_2_15",
+ "4": "CODERATE_3_15",
+ "8": "CODERATE_4_15",
+ "16": "CODERATE_5_15",
+ "32": "CODERATE_6_15",
+ "64": "CODERATE_7_15",
+ "128": "CODERATE_8_15",
+ "256": "CODERATE_9_15",
+ "512": "CODERATE_10_15",
+ "1024": "CODERATE_11_15",
+ "2048": "CODERATE_12_15",
+ "4096": "CODERATE_13_15"
+ }
+ },
+ "android.media.tv.tuner.frontend.Atsc3FrontendSettings.DemodOutputFormat": {
+ "flag": true,
+ "values": {
+ "0": "DEMOD_OUTPUT_FORMAT_UNDEFINED",
+ "1": "DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET",
+ "2": "DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET"
+ }
+ },
+ "android.media.tv.tuner.frontend.Atsc3FrontendSettings.Fec": {
+ "flag": true,
+ "values": {
+ "0": "FEC_UNDEFINED",
+ "1": "FEC_AUTO",
+ "2": "FEC_BCH_LDPC_16K",
+ "4": "FEC_BCH_LDPC_64K",
+ "8": "FEC_CRC_LDPC_16K",
+ "16": "FEC_CRC_LDPC_64K",
+ "32": "FEC_LDPC_16K",
+ "64": "FEC_LDPC_64K"
+ }
+ },
+ "android.media.tv.tuner.frontend.Atsc3FrontendSettings.Modulation": {
+ "flag": true,
+ "values": {
+ "0": "MODULATION_UNDEFINED",
+ "1": "MODULATION_AUTO",
+ "2": "MODULATION_MOD_QPSK",
+ "4": "MODULATION_MOD_16QAM",
+ "8": "MODULATION_MOD_64QAM",
+ "16": "MODULATION_MOD_256QAM",
+ "32": "MODULATION_MOD_1024QAM",
+ "64": "MODULATION_MOD_4096QAM"
+ }
+ },
+ "android.media.tv.tuner.frontend.Atsc3FrontendSettings.TimeInterleaveMode": {
+ "flag": true,
+ "values": {
+ "0": "TIME_INTERLEAVE_MODE_UNDEFINED",
+ "1": "TIME_INTERLEAVE_MODE_AUTO",
+ "2": "TIME_INTERLEAVE_MODE_CTI",
+ "4": "TIME_INTERLEAVE_MODE_HTI"
+ }
+ },
+ "android.media.tv.tuner.frontend.AtscFrontendSettings.Modulation": {
+ "flag": true,
+ "values": {
+ "0": "MODULATION_UNDEFINED",
+ "1": "MODULATION_AUTO",
+ "4": "MODULATION_MOD_8VSB",
+ "8": "MODULATION_MOD_16VSB"
+ }
+ },
+ "android.media.tv.tuner.frontend.DtmbFrontendSettings.Bandwidth": {
+ "flag": true,
+ "values": {
+ "0": "BANDWIDTH_UNDEFINED",
+ "1": "BANDWIDTH_AUTO",
+ "4": "BANDWIDTH_6MHZ",
+ "2": "BANDWIDTH_8MHZ"
+ }
+ },
+ "android.media.tv.tuner.frontend.DtmbFrontendSettings.CodeRate": {
+ "flag": true,
+ "values": {
+ "0": "CODERATE_UNDEFINED",
+ "1": "CODERATE_AUTO",
+ "2": "CODERATE_2_5",
+ "4": "CODERATE_3_5",
+ "8": "CODERATE_4_5"
+ }
+ },
+ "android.media.tv.tuner.frontend.DtmbFrontendSettings.GuardInterval": {
+ "flag": true,
+ "values": {
+ "0": "GUARD_INTERVAL_UNDEFINED",
+ "1": "GUARD_INTERVAL_AUTO",
+ "2": "GUARD_INTERVAL_PN_420_VARIOUS",
+ "4": "GUARD_INTERVAL_PN_595_CONST",
+ "8": "GUARD_INTERVAL_PN_945_VARIOUS",
+ "16": "GUARD_INTERVAL_PN_420_CONST",
+ "32": "GUARD_INTERVAL_PN_945_CONST",
+ "64": "GUARD_INTERVAL_PN_RESERVED"
+ }
+ },
+ "android.media.tv.tuner.frontend.DtmbFrontendSettings.Modulation": {
+ "flag": true,
+ "values": {
+ "0": "MODULATION_CONSTELLATION_UNDEFINED",
+ "1": "MODULATION_CONSTELLATION_AUTO",
+ "2": "MODULATION_CONSTELLATION_4QAM",
+ "4": "MODULATION_CONSTELLATION_4QAM_NR",
+ "8": "MODULATION_CONSTELLATION_16QAM",
+ "16": "MODULATION_CONSTELLATION_32QAM",
+ "32": "MODULATION_CONSTELLATION_64QAM"
+ }
+ },
+ "android.media.tv.tuner.frontend.DtmbFrontendSettings.TimeInterleaveMode": {
+ "flag": true,
+ "values": {
+ "0": "TIME_INTERLEAVE_MODE_UNDEFINED",
+ "1": "TIME_INTERLEAVE_MODE_AUTO",
+ "2": "TIME_INTERLEAVE_MODE_TIMER_INT_240",
+ "4": "TIME_INTERLEAVE_MODE_TIMER_INT_720"
+ }
+ },
+ "android.media.tv.tuner.frontend.DtmbFrontendSettings.TransmissionMode": {
+ "flag": true,
+ "values": {
+ "0": "TRANSMISSION_MODE_UNDEFINED",
+ "1": "TRANSMISSION_MODE_AUTO",
+ "2": "TRANSMISSION_MODE_C1",
+ "4": "TRANSMISSION_MODE_C3780"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbcFrontendSettings.Annex": {
+ "flag": true,
+ "values": {
+ "0": "ANNEX_UNDEFINED",
+ "1": "ANNEX_A",
+ "2": "ANNEX_B",
+ "4": "ANNEX_C"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbcFrontendSettings.Bandwidth": {
+ "flag": true,
+ "values": {
+ "0": "BANDWIDTH_UNDEFINED",
+ "1": "BANDWIDTH_5MHZ",
+ "2": "BANDWIDTH_6MHZ",
+ "4": "BANDWIDTH_7MHZ",
+ "8": "BANDWIDTH_8MHZ"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbcFrontendSettings.Modulation": {
+ "flag": true,
+ "values": {
+ "0": "MODULATION_UNDEFINED",
+ "1": "MODULATION_AUTO",
+ "2": "MODULATION_MOD_16QAM",
+ "4": "MODULATION_MOD_32QAM",
+ "8": "MODULATION_MOD_64QAM",
+ "16": "MODULATION_MOD_128QAM",
+ "32": "MODULATION_MOD_256QAM"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbcFrontendSettings.OuterFec": {
+ "flag": false,
+ "values": {
+ "0": "OUTER_FEC_UNDEFINED",
+ "1": "OUTER_FEC_OUTER_FEC_NONE",
+ "2": "OUTER_FEC_OUTER_FEC_RS"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbcFrontendSettings.SpectralInversion": {
+ "flag": false,
+ "values": {
+ "0": "SPECTRAL_INVERSION_UNDEFINED",
+ "1": "SPECTRAL_INVERSION_NORMAL",
+ "2": "SPECTRAL_INVERSION_INVERTED"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbcFrontendSettings.TimeInterleaveMode": {
+ "flag": true,
+ "values": {
+ "0": "TIME_INTERLEAVE_MODE_UNDEFINED",
+ "1": "TIME_INTERLEAVE_MODE_AUTO",
+ "2": "TIME_INTERLEAVE_MODE_128_1_0",
+ "4": "TIME_INTERLEAVE_MODE_128_1_1",
+ "8": "TIME_INTERLEAVE_MODE_64_2",
+ "16": "TIME_INTERLEAVE_MODE_32_4",
+ "32": "TIME_INTERLEAVE_MODE_16_8",
+ "64": "TIME_INTERLEAVE_MODE_8_16",
+ "128": "TIME_INTERLEAVE_MODE_128_2",
+ "256": "TIME_INTERLEAVE_MODE_128_3",
+ "512": "TIME_INTERLEAVE_MODE_128_4"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbsFrontendSettings.Modulation": {
+ "flag": true,
+ "values": {
+ "0": "MODULATION_UNDEFINED",
+ "1": "MODULATION_AUTO",
+ "2": "MODULATION_MOD_QPSK",
+ "4": "MODULATION_MOD_8PSK",
+ "8": "MODULATION_MOD_16QAM",
+ "16": "MODULATION_MOD_16PSK",
+ "32": "MODULATION_MOD_32PSK",
+ "64": "MODULATION_MOD_ACM",
+ "128": "MODULATION_MOD_8APSK",
+ "256": "MODULATION_MOD_16APSK",
+ "512": "MODULATION_MOD_32APSK",
+ "1024": "MODULATION_MOD_64APSK",
+ "2048": "MODULATION_MOD_128APSK",
+ "4096": "MODULATION_MOD_256APSK",
+ "8192": "MODULATION_MOD_RESERVED"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbsFrontendSettings.Pilot": {
+ "flag": false,
+ "values": {
+ "0": "PILOT_UNDEFINED",
+ "1": "PILOT_ON",
+ "2": "PILOT_OFF",
+ "3": "PILOT_AUTO"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbsFrontendSettings.Rolloff": {
+ "flag": false,
+ "values": {
+ "0": "ROLLOFF_UNDEFINED",
+ "1": "ROLLOFF_0_35",
+ "2": "ROLLOFF_0_25",
+ "3": "ROLLOFF_0_20",
+ "4": "ROLLOFF_0_15",
+ "5": "ROLLOFF_0_10",
+ "6": "ROLLOFF_0_5"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbsFrontendSettings.ScanType": {
+ "flag": true,
+ "values": {
+ "0": "SCAN_TYPE_UNDEFINED",
+ "1": "SCAN_TYPE_DIRECT",
+ "2": "SCAN_TYPE_DISEQC",
+ "3": "SCAN_TYPE_UNICABLE",
+ "4": "SCAN_TYPE_JESS"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbsFrontendSettings.Standard": {
+ "flag": true,
+ "values": {
+ "1": "STANDARD_AUTO",
+ "2": "STANDARD_S",
+ "4": "STANDARD_S2",
+ "8": "STANDARD_S2X"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbsFrontendSettings.VcmMode": {
+ "flag": false,
+ "values": {
+ "0": "VCM_MODE_UNDEFINED",
+ "1": "VCM_MODE_AUTO",
+ "2": "VCM_MODE_MANUAL"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbtFrontendSettings.Bandwidth": {
+ "flag": true,
+ "values": {
+ "0": "BANDWIDTH_UNDEFINED",
+ "1": "BANDWIDTH_AUTO",
+ "2": "BANDWIDTH_8MHZ",
+ "4": "BANDWIDTH_7MHZ",
+ "8": "BANDWIDTH_6MHZ",
+ "16": "BANDWIDTH_5MHZ",
+ "32": "BANDWIDTH_1_7MHZ",
+ "64": "BANDWIDTH_10MHZ"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbtFrontendSettings.CodeRate": {
+ "flag": true,
+ "values": {
+ "0": "CODERATE_UNDEFINED",
+ "1": "CODERATE_AUTO",
+ "2": "CODERATE_1_2",
+ "4": "CODERATE_2_3",
+ "8": "CODERATE_3_4",
+ "16": "CODERATE_5_6",
+ "32": "CODERATE_7_8",
+ "64": "CODERATE_3_5",
+ "128": "CODERATE_4_5",
+ "256": "CODERATE_6_7",
+ "512": "CODERATE_8_9"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbtFrontendSettings.Constellation": {
+ "flag": true,
+ "values": {
+ "0": "CONSTELLATION_UNDEFINED",
+ "1": "CONSTELLATION_AUTO",
+ "2": "CONSTELLATION_QPSK",
+ "4": "CONSTELLATION_16QAM",
+ "8": "CONSTELLATION_64QAM",
+ "16": "CONSTELLATION_256QAM",
+ "32": "CONSTELLATION_QPSK_R",
+ "64": "CONSTELLATION_16QAM_R",
+ "128": "CONSTELLATION_64QAM_R",
+ "256": "CONSTELLATION_256QAM_R"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbtFrontendSettings.GuardInterval": {
+ "flag": true,
+ "values": {
+ "0": "GUARD_INTERVAL_UNDEFINED",
+ "1": "GUARD_INTERVAL_AUTO",
+ "2": "GUARD_INTERVAL_1_32",
+ "4": "GUARD_INTERVAL_1_16",
+ "8": "GUARD_INTERVAL_1_8",
+ "16": "GUARD_INTERVAL_1_4",
+ "32": "GUARD_INTERVAL_1_128",
+ "64": "GUARD_INTERVAL_19_128",
+ "128": "GUARD_INTERVAL_19_256"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbtFrontendSettings.Hierarchy": {
+ "flag": true,
+ "values": {
+ "0": "HIERARCHY_UNDEFINED",
+ "1": "HIERARCHY_AUTO",
+ "2": "HIERARCHY_NON_NATIVE",
+ "4": "HIERARCHY_1_NATIVE",
+ "8": "HIERARCHY_2_NATIVE",
+ "16": "HIERARCHY_4_NATIVE",
+ "32": "HIERARCHY_NON_INDEPTH",
+ "64": "HIERARCHY_1_INDEPTH",
+ "128": "HIERARCHY_2_INDEPTH",
+ "256": "HIERARCHY_4_INDEPTH"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbtFrontendSettings.PlpMode": {
+ "flag": false,
+ "values": {
+ "0": "PLP_MODE_UNDEFINED",
+ "1": "PLP_MODE_AUTO",
+ "2": "PLP_MODE_MANUAL"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbtFrontendSettings.Standard": {
+ "flag": true,
+ "values": {
+ "1": "STANDARD_AUTO",
+ "2": "STANDARD_T",
+ "4": "STANDARD_T2"
+ }
+ },
+ "android.media.tv.tuner.frontend.DvbtFrontendSettings.TransmissionMode": {
+ "flag": true,
+ "values": {
+ "0": "TRANSMISSION_MODE_UNDEFINED",
+ "1": "TRANSMISSION_MODE_AUTO",
+ "2": "TRANSMISSION_MODE_2K",
+ "4": "TRANSMISSION_MODE_8K",
+ "8": "TRANSMISSION_MODE_4K",
+ "16": "TRANSMISSION_MODE_1K",
+ "32": "TRANSMISSION_MODE_16K",
+ "64": "TRANSMISSION_MODE_32K"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendSettings.FrontendSpectralInversion": {
+ "flag": false,
+ "values": {
+ "0": "FRONTEND_SPECTRAL_INVERSION_UNDEFINED",
+ "1": "FRONTEND_SPECTRAL_INVERSION_NORMAL",
+ "2": "FRONTEND_SPECTRAL_INVERSION_INVERTED"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendSettings.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_UNDEFINED",
+ "1": "TYPE_ANALOG",
+ "2": "TYPE_ATSC",
+ "3": "TYPE_ATSC3",
+ "4": "TYPE_DVBC",
+ "5": "TYPE_DVBS",
+ "6": "TYPE_DVBT",
+ "7": "TYPE_ISDBS",
+ "8": "TYPE_ISDBS3",
+ "9": "TYPE_ISDBT",
+ "10": "TYPE_DTMB"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendStatus.FrontendBandwidth": {
+ "flag": false,
+ "values": {
+ "0": "BANDWIDTH_UNDEFINED",
+ "1": "BANDWIDTH_AUTO",
+ "2": "BANDWIDTH_8MHZ",
+ "4": "BANDWIDTH_7MHZ",
+ "8": "BANDWIDTH_6MHZ",
+ "16": "BANDWIDTH_5MHZ",
+ "32": "BANDWIDTH_1_7MHZ",
+ "64": "BANDWIDTH_10MHZ"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendStatus.FrontendGuardInterval": {
+ "flag": false,
+ "values": {
+ "0": "GUARD_INTERVAL_UNDEFINED",
+ "1": "GUARD_INTERVAL_AUTO",
+ "2": "GUARD_INTERVAL_1_32",
+ "4": "GUARD_INTERVAL_1_16",
+ "8": "GUARD_INTERVAL_1_8",
+ "16": "GUARD_INTERVAL_1_4",
+ "32": "GUARD_INTERVAL_1_128",
+ "64": "GUARD_INTERVAL_19_128",
+ "128": "GUARD_INTERVAL_19_256"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendStatus.FrontendInterleaveMode": {
+ "flag": false,
+ "values": {
+ "0": "TIME_INTERLEAVE_MODE_UNDEFINED",
+ "1": "TIME_INTERLEAVE_MODE_AUTO",
+ "2": "TIME_INTERLEAVE_MODE_128_1_0",
+ "4": "TIME_INTERLEAVE_MODE_128_1_1",
+ "8": "TIME_INTERLEAVE_MODE_64_2",
+ "16": "TIME_INTERLEAVE_MODE_32_4",
+ "32": "TIME_INTERLEAVE_MODE_16_8",
+ "64": "TIME_INTERLEAVE_MODE_8_16",
+ "128": "TIME_INTERLEAVE_MODE_128_2",
+ "256": "TIME_INTERLEAVE_MODE_128_3",
+ "512": "TIME_INTERLEAVE_MODE_128_4"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendStatus.FrontendModulation": {
+ "flag": false,
+ "values": {
+ "0": "MODULATION_UNDEFINED",
+ "1": "MODULATION_AUTO",
+ "4": "MODULATION_MOD_QPSK",
+ "8": "MODULATION_MOD_16QAM",
+ "2": "MODULATION_MOD_DQPSK",
+ "16": "MODULATION_MOD_64QAM",
+ "32": "MODULATION_MOD_32APSK",
+ "64": "CONSTELLATION_16QAM_R",
+ "128": "CONSTELLATION_64QAM_R",
+ "256": "CONSTELLATION_256QAM_R",
+ "512": "MODULATION_MOD_32APSK",
+ "1024": "MODULATION_MOD_64APSK",
+ "2048": "MODULATION_MOD_128APSK",
+ "4096": "MODULATION_MOD_256APSK",
+ "8192": "MODULATION_MOD_RESERVED"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendStatus.FrontendRollOff": {
+ "flag": false,
+ "values": {
+ "0": "ROLLOFF_UNDEFINED",
+ "1": "ROLLOFF_0_35",
+ "2": "ROLLOFF_0_25",
+ "3": "ROLLOFF_0_20",
+ "4": "ROLLOFF_0_15",
+ "5": "ROLLOFF_0_10",
+ "6": "ROLLOFF_0_5"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendStatus.FrontendStatusType": {
+ "flag": false,
+ "values": {
+ "0": "FRONTEND_STATUS_TYPE_DEMOD_LOCK",
+ "1": "FRONTEND_STATUS_TYPE_SNR",
+ "2": "FRONTEND_STATUS_TYPE_BER",
+ "3": "FRONTEND_STATUS_TYPE_PER",
+ "4": "FRONTEND_STATUS_TYPE_PRE_BER",
+ "5": "FRONTEND_STATUS_TYPE_SIGNAL_QUALITY",
+ "6": "FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH",
+ "7": "FRONTEND_STATUS_TYPE_SYMBOL_RATE",
+ "8": "FRONTEND_STATUS_TYPE_FEC",
+ "9": "FRONTEND_STATUS_TYPE_MODULATION",
+ "10": "FRONTEND_STATUS_TYPE_SPECTRAL",
+ "11": "FRONTEND_STATUS_TYPE_LNB_VOLTAGE",
+ "12": "FRONTEND_STATUS_TYPE_PLP_ID",
+ "13": "FRONTEND_STATUS_TYPE_EWBS",
+ "14": "FRONTEND_STATUS_TYPE_AGC",
+ "15": "FRONTEND_STATUS_TYPE_LNA",
+ "16": "FRONTEND_STATUS_TYPE_LAYER_ERROR",
+ "17": "FRONTEND_STATUS_TYPE_MER",
+ "18": "FRONTEND_STATUS_TYPE_FREQ_OFFSET",
+ "19": "FRONTEND_STATUS_TYPE_HIERARCHY",
+ "20": "FRONTEND_STATUS_TYPE_RF_LOCK",
+ "21": "FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO",
+ "23": "FRONTEND_STATUS_TYPE_BERS",
+ "24": "FRONTEND_STATUS_TYPE_CODERATES",
+ "25": "FRONTEND_STATUS_TYPE_BANDWIDTH",
+ "26": "FRONTEND_STATUS_TYPE_GUARD_INTERVAL",
+ "27": "FRONTEND_STATUS_TYPE_TRANSMISSION_MODE",
+ "28": "FRONTEND_STATUS_TYPE_UEC",
+ "29": "FRONTEND_STATUS_TYPE_T2_SYSTEM_ID",
+ "30": "FRONTEND_STATUS_TYPE_INTERLEAVINGS",
+ "31": "FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS",
+ "32": "FRONTEND_STATUS_TYPE_TS_DATA_RATES",
+ "22": "FRONTEND_STATUS_TYPE_MODULATIONS_EXT",
+ "33": "FRONTEND_STATUS_TYPE_ROLL_OFF",
+ "34": "FRONTEND_STATUS_TYPE_IS_MISO",
+ "35": "FRONTEND_STATUS_TYPE_IS_LINEAR",
+ "36": "FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES"
+ }
+ },
+ "android.media.tv.tuner.frontend.FrontendStatus.FrontendTransmissionMode": {
+ "flag": false,
+ "values": {
+ "0": "MODE_UNDEFINED",
+ "1": "MODE_AUTO",
+ "2": "MODE_1",
+ "4": "MODE_2",
+ "8": "MODE_3",
+ "16": "TRANSMISSION_MODE_1K",
+ "32": "TRANSMISSION_MODE_16K",
+ "64": "TRANSMISSION_MODE_32K"
+ }
+ },
+ "android.media.tv.tuner.frontend.Isdbs3FrontendSettings.CodeRate": {
+ "flag": true,
+ "values": {
+ "0": "CODERATE_UNDEFINED",
+ "1": "CODERATE_AUTO",
+ "2": "CODERATE_1_3",
+ "4": "CODERATE_2_5",
+ "8": "CODERATE_1_2",
+ "16": "CODERATE_3_5",
+ "32": "CODERATE_2_3",
+ "64": "CODERATE_3_4",
+ "128": "CODERATE_7_9",
+ "256": "CODERATE_4_5",
+ "512": "CODERATE_5_6",
+ "1024": "CODERATE_7_8",
+ "2048": "CODERATE_9_10"
+ }
+ },
+ "android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Modulation": {
+ "flag": true,
+ "values": {
+ "0": "MODULATION_UNDEFINED",
+ "1": "MODULATION_AUTO",
+ "2": "MODULATION_MOD_BPSK",
+ "4": "MODULATION_MOD_QPSK",
+ "8": "MODULATION_MOD_8PSK",
+ "16": "MODULATION_MOD_16APSK",
+ "32": "MODULATION_MOD_32APSK"
+ }
+ },
+ "android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Rolloff": {
+ "flag": false,
+ "values": {
+ "0": "ROLLOFF_UNDEFINED",
+ "1": "ROLLOFF_0_03"
+ }
+ },
+ "android.media.tv.tuner.frontend.IsdbsFrontendSettings.CodeRate": {
+ "flag": true,
+ "values": {
+ "0": "CODERATE_UNDEFINED",
+ "1": "CODERATE_AUTO",
+ "2": "CODERATE_1_2",
+ "4": "CODERATE_2_3",
+ "8": "CODERATE_3_4",
+ "16": "CODERATE_5_6",
+ "32": "CODERATE_7_8"
+ }
+ },
+ "android.media.tv.tuner.frontend.IsdbsFrontendSettings.Modulation": {
+ "flag": true,
+ "values": {
+ "0": "MODULATION_UNDEFINED",
+ "1": "MODULATION_AUTO",
+ "2": "MODULATION_MOD_BPSK",
+ "4": "MODULATION_MOD_QPSK",
+ "8": "MODULATION_MOD_TC8PSK"
+ }
+ },
+ "android.media.tv.tuner.frontend.IsdbsFrontendSettings.Rolloff": {
+ "flag": false,
+ "values": {
+ "0": "ROLLOFF_UNDEFINED",
+ "1": "ROLLOFF_0_35"
+ }
+ },
+ "android.media.tv.tuner.frontend.IsdbsFrontendSettings.StreamIdType": {
+ "flag": false,
+ "values": {
+ "0": "STREAM_ID_TYPE_ID",
+ "1": "STREAM_ID_TYPE_RELATIVE_NUMBER"
+ }
+ },
+ "android.media.tv.tuner.frontend.IsdbtFrontendSettings.Bandwidth": {
+ "flag": true,
+ "values": {
+ "0": "BANDWIDTH_UNDEFINED",
+ "1": "BANDWIDTH_AUTO",
+ "2": "BANDWIDTH_8MHZ",
+ "4": "BANDWIDTH_7MHZ",
+ "8": "BANDWIDTH_6MHZ"
+ }
+ },
+ "android.media.tv.tuner.frontend.IsdbtFrontendSettings.Mode": {
+ "flag": true,
+ "values": {
+ "0": "MODE_UNDEFINED",
+ "1": "MODE_AUTO",
+ "2": "MODE_1",
+ "4": "MODE_2",
+ "8": "MODE_3"
+ }
+ },
+ "android.media.tv.tuner.frontend.IsdbtFrontendSettings.Modulation": {
+ "flag": true,
+ "values": {
+ "0": "MODULATION_UNDEFINED",
+ "1": "MODULATION_AUTO",
+ "2": "MODULATION_MOD_DQPSK",
+ "4": "MODULATION_MOD_QPSK",
+ "8": "MODULATION_MOD_16QAM",
+ "16": "MODULATION_MOD_64QAM"
+ }
+ },
+ "android.media.tv.tuner.frontend.OnTuneEventListener.TuneEvent": {
+ "flag": false,
+ "values": {
+ "0": "SIGNAL_LOCKED",
+ "1": "SIGNAL_NO_SIGNAL",
+ "2": "SIGNAL_LOST_LOCK"
+ }
+ },
+ "android.media.tv.tunerresourcemanager.TunerResourceManager.TunerResourceType": {
+ "flag": false,
+ "values": {
+ "0": "TUNER_RESOURCE_TYPE_FRONTEND",
+ "1": "TUNER_RESOURCE_TYPE_DEMUX",
+ "2": "TUNER_RESOURCE_TYPE_DESCRAMBLER",
+ "3": "TUNER_RESOURCE_TYPE_LNB",
+ "4": "TUNER_RESOURCE_TYPE_CAS_SESSION",
+ "5": "TUNER_RESOURCE_TYPE_MAX"
+ }
+ },
+ "android.net.CaptivePortal.EventId": {
+ "flag": false,
+ "values": {
+ "1004": "ACTION_CAPTIVE_PORTAL_LOGIN_ACTIVITY",
+ "1005": "ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_DISMISSED",
+ "1006": "ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_UNWANTED",
+ "1007": "ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_WANTED_AS_IS",
+ "1013": "CAPTIVE_PORTAL_LOGIN_ACTIVITY_SSL_ERROR"
+ }
+ },
+ "android.net.ConnectivityDiagnosticsManager.ConnectivityReport.NetworkProbe": {
+ "flag": false,
+ "values": {
+ "4": "NETWORK_PROBE_DNS",
+ "8": "NETWORK_PROBE_HTTP",
+ "16": "NETWORK_PROBE_HTTPS",
+ "32": "NETWORK_PROBE_FALLBACK",
+ "64": "NETWORK_PROBE_PRIVATE_DNS"
+ }
+ },
+ "android.net.ConnectivityDiagnosticsManager.ConnectivityReport.NetworkValidationResult": {
+ "flag": false,
+ "values": {
+ "0": "NETWORK_VALIDATION_RESULT_INVALID",
+ "1": "NETWORK_VALIDATION_RESULT_VALID",
+ "2": "NETWORK_VALIDATION_RESULT_PARTIALLY_VALID",
+ "3": "NETWORK_VALIDATION_RESULT_SKIPPED"
+ }
+ },
+ "android.net.ConnectivityDiagnosticsManager.DataStallReport.DetectionMethod": {
+ "flag": false,
+ "values": {
+ "1": "DETECTION_METHOD_DNS_EVENTS",
+ "2": "DETECTION_METHOD_TCP_METRICS"
+ }
+ },
+ "android.net.ConnectivityManager.EntitlementResultCode": {
+ "flag": false,
+ "values": {
+ "0": "TETHER_ERROR_NO_ERROR",
+ "11": "TETHER_ERROR_PROVISION_FAILED",
+ "13": "TETHER_ERROR_ENTITLEMENT_UNKONWN"
+ }
+ },
+ "android.net.ConnectivityManager.LegacyNetworkType": {
+ "flag": false,
+ "values": {
+ "-1": "TYPE_NONE",
+ "0": "TYPE_MOBILE",
+ "1": "TYPE_WIFI",
+ "2": "TYPE_MOBILE_MMS",
+ "3": "TYPE_MOBILE_SUPL",
+ "4": "TYPE_MOBILE_DUN",
+ "5": "TYPE_MOBILE_HIPRI",
+ "6": "TYPE_WIMAX",
+ "7": "TYPE_BLUETOOTH",
+ "8": "TYPE_DUMMY",
+ "9": "TYPE_ETHERNET",
+ "10": "TYPE_MOBILE_FOTA",
+ "11": "TYPE_MOBILE_IMS",
+ "12": "TYPE_MOBILE_CBS",
+ "13": "TYPE_WIFI_P2P",
+ "14": "TYPE_MOBILE_IA",
+ "15": "TYPE_MOBILE_EMERGENCY",
+ "16": "TYPE_PROXY",
+ "17": "TYPE_VPN",
+ "18": "TYPE_TEST"
+ }
+ },
+ "android.net.ConnectivityManager.MultipathPreference": {
+ "flag": true,
+ "values": {
+ "1": "MULTIPATH_PREFERENCE_HANDOVER",
+ "2": "MULTIPATH_PREFERENCE_RELIABILITY",
+ "4": "MULTIPATH_PREFERENCE_PERFORMANCE"
+ }
+ },
+ "android.net.ConnectivityManager.RestrictBackgroundStatus": {
+ "flag": false,
+ "values": {
+ "1": "RESTRICT_BACKGROUND_STATUS_DISABLED",
+ "2": "RESTRICT_BACKGROUND_STATUS_WHITELISTED",
+ "3": "RESTRICT_BACKGROUND_STATUS_ENABLED"
+ }
+ },
+ "android.net.DnsResolver.DnsError": {
+ "flag": false,
+ "values": {
+ "0": "ERROR_PARSE",
+ "1": "ERROR_SYSTEM"
+ }
+ },
+ "android.net.DnsResolver.QueryClass": {
+ "flag": false,
+ "values": {
+ "1": "CLASS_IN"
+ }
+ },
+ "android.net.DnsResolver.QueryFlag": {
+ "flag": false,
+ "values": {
+ "0": "FLAG_EMPTY",
+ "1": "FLAG_NO_RETRY",
+ "2": "FLAG_NO_CACHE_STORE",
+ "4": "FLAG_NO_CACHE_LOOKUP"
+ }
+ },
+ "android.net.DnsResolver.QueryType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_A",
+ "28": "TYPE_AAAA"
+ }
+ },
+ "android.net.InvalidPacketException.ErrorCode": {
+ "flag": false,
+ "values": {
+ "-21": "ERROR_INVALID_IP_ADDRESS",
+ "-22": "ERROR_INVALID_PORT",
+ "-23": "ERROR_INVALID_LENGTH"
+ }
+ },
+ "android.net.IpSecTransform.EncapType": {
+ "flag": false,
+ "values": {
+ "0": "ENCAP_NONE",
+ "2": "ENCAP_ESPINUDP",
+ "1": "ENCAP_ESPINUDP_NON_IKE"
+ }
+ },
+ "android.net.MacAddress.MacAddressType": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_UNKNOWN",
+ "1": "TYPE_UNICAST",
+ "2": "TYPE_MULTICAST",
+ "3": "TYPE_BROADCAST"
+ }
+ },
+ "android.net.NetworkAgent.ValidationStatus": {
+ "flag": false,
+ "values": {
+ "1": "VALIDATION_STATUS_VALID",
+ "2": "VALIDATION_STATUS_NOT_VALID"
+ }
+ },
+ "android.net.NetworkBadging.Badging": {
+ "flag": false,
+ "values": {
+ "0": "BADGING_NONE",
+ "10": "BADGING_SD",
+ "20": "BADGING_HD",
+ "30": "BADGING_4K"
+ }
+ },
+ "android.net.NetworkCapabilities.NetCapability": {
+ "flag": false,
+ "values": {
+ "0": "NET_CAPABILITY_MMS",
+ "1": "NET_CAPABILITY_SUPL",
+ "2": "NET_CAPABILITY_DUN",
+ "3": "NET_CAPABILITY_FOTA",
+ "4": "NET_CAPABILITY_IMS",
+ "5": "NET_CAPABILITY_CBS",
+ "6": "NET_CAPABILITY_WIFI_P2P",
+ "7": "NET_CAPABILITY_IA",
+ "8": "NET_CAPABILITY_RCS",
+ "9": "NET_CAPABILITY_XCAP",
+ "10": "NET_CAPABILITY_EIMS",
+ "11": "NET_CAPABILITY_NOT_METERED",
+ "12": "NET_CAPABILITY_INTERNET",
+ "13": "NET_CAPABILITY_NOT_RESTRICTED",
+ "14": "NET_CAPABILITY_TRUSTED",
+ "15": "NET_CAPABILITY_NOT_VPN",
+ "16": "NET_CAPABILITY_VALIDATED",
+ "17": "NET_CAPABILITY_CAPTIVE_PORTAL",
+ "18": "NET_CAPABILITY_NOT_ROAMING",
+ "19": "NET_CAPABILITY_FOREGROUND",
+ "20": "NET_CAPABILITY_NOT_CONGESTED",
+ "21": "NET_CAPABILITY_NOT_SUSPENDED",
+ "22": "NET_CAPABILITY_OEM_PAID",
+ "23": "NET_CAPABILITY_MCX",
+ "24": "NET_CAPABILITY_PARTIAL_CONNECTIVITY",
+ "25": "NET_CAPABILITY_TEMPORARILY_NOT_METERED",
+ "26": "NET_CAPABILITY_OEM_PRIVATE"
+ }
+ },
+ "android.net.NetworkCapabilities.Transport": {
+ "flag": false,
+ "values": {
+ "0": "TRANSPORT_CELLULAR",
+ "1": "TRANSPORT_WIFI",
+ "2": "TRANSPORT_BLUETOOTH",
+ "3": "TRANSPORT_ETHERNET",
+ "4": "TRANSPORT_VPN",
+ "5": "TRANSPORT_WIFI_AWARE",
+ "6": "TRANSPORT_LOWPAN",
+ "7": "TRANSPORT_TEST"
+ }
+ },
+ "android.net.NetworkKey.NetworkType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_WIFI"
+ }
+ },
+ "android.net.NetworkPolicyManager.SubscriptionOverrideMask": {
+ "flag": true,
+ "values": {
+ "1": "SUBSCRIPTION_OVERRIDE_UNMETERED",
+ "2": "SUBSCRIPTION_OVERRIDE_CONGESTED"
+ }
+ },
+ "android.net.NetworkScoreManager.RecommendationsEnabledSetting": {
+ "flag": false,
+ "values": {
+ "-1": "RECOMMENDATIONS_ENABLED_FORCED_OFF",
+ "0": "RECOMMENDATIONS_ENABLED_OFF",
+ "1": "RECOMMENDATIONS_ENABLED_ON"
+ }
+ },
+ "android.net.NetworkScoreManager.ScoreUpdateFilter": {
+ "flag": false,
+ "values": {
+ "0": "SCORE_FILTER_NONE",
+ "1": "SCORE_FILTER_CURRENT_NETWORK",
+ "2": "SCORE_FILTER_SCAN_RESULTS"
+ }
+ },
+ "android.net.NetworkStats.DefaultNetwork": {
+ "flag": false,
+ "values": {
+ "-1": "DEFAULT_NETWORK_ALL",
+ "0": "DEFAULT_NETWORK_NO",
+ "1": "DEFAULT_NETWORK_YES"
+ }
+ },
+ "android.net.NetworkStats.Meteredness": {
+ "flag": false,
+ "values": {
+ "-1": "METERED_ALL",
+ "0": "METERED_NO",
+ "1": "METERED_YES"
+ }
+ },
+ "android.net.NetworkStats.Roaming": {
+ "flag": false,
+ "values": {
+ "-1": "ROAMING_ALL",
+ "0": "ROAMING_NO",
+ "1": "ROAMING_YES"
+ }
+ },
+ "android.net.NetworkStats.State": {
+ "flag": false,
+ "values": {
+ "-1": "SET_ALL",
+ "0": "SET_DEFAULT",
+ "1": "SET_FOREGROUND",
+ "1000": "SET_DEBUG_START",
+ "1001": "SET_DBG_VPN_IN",
+ "1002": "SET_DBG_VPN_OUT"
+ }
+ },
+ "android.net.NetworkStats.StatsType": {
+ "flag": false,
+ "values": {
+ "0": "STATS_PER_IFACE",
+ "1": "STATS_PER_UID"
+ }
+ },
+ "android.net.OemNetworkPreferences.OemNetworkPreference": {
+ "flag": false,
+ "values": {
+ "0": "OEM_NETWORK_PREFERENCE_DEFAULT",
+ "1": "OEM_NETWORK_PREFERENCE_OEM_PAID",
+ "2": "OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK",
+ "3": "OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY",
+ "4": "OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY"
+ }
+ },
+ "android.net.PlatformVpnProfile.PlatformVpnType": {
+ "flag": false,
+ "values": {
+ "6": "TYPE_IKEV2_IPSEC_USER_PASS",
+ "7": "TYPE_IKEV2_IPSEC_PSK",
+ "8": "TYPE_IKEV2_IPSEC_RSA"
+ }
+ },
+ "android.net.RouteInfo.RouteType": {
+ "flag": false,
+ "values": {
+ "1": "RTN_UNICAST",
+ "7": "RTN_UNREACHABLE",
+ "9": "RTN_THROW"
+ }
+ },
+ "android.net.SocketKeepalive.ErrorCode": {
+ "flag": false,
+ "values": {
+ "-20": "ERROR_INVALID_NETWORK",
+ "-21": "ERROR_INVALID_IP_ADDRESS",
+ "-22": "ERROR_INVALID_PORT",
+ "-23": "ERROR_INVALID_LENGTH",
+ "-24": "ERROR_INVALID_INTERVAL",
+ "-25": "ERROR_INVALID_SOCKET",
+ "-26": "ERROR_SOCKET_NOT_IDLE"
+ }
+ },
+ "android.net.SocketKeepalive.KeepaliveEvent": {
+ "flag": false,
+ "values": {
+ "0": "SUCCESS",
+ "-23": "ERROR_INVALID_LENGTH",
+ "-30": "ERROR_HARDWARE_UNSUPPORTED",
+ "-32": "ERROR_INSUFFICIENT_RESOURCES"
+ }
+ },
+ "android.net.VpnManager.VpnType": {
+ "flag": false,
+ "values": {
+ "-1": "TYPE_VPN_NONE",
+ "1": "TYPE_VPN_SERVICE",
+ "2": "TYPE_VPN_PLATFORM"
+ }
+ },
+ "android.net.annotations.PolicyDirection": {
+ "flag": false,
+ "values": {
+ "0": "DIRECTION_IN",
+ "1": "DIRECTION_OUT"
+ }
+ },
+ "android.net.metrics.ApfProgramEvent.Flags": {
+ "flag": true,
+ "values": {
+ "0": "FLAG_MULTICAST_FILTER_ON",
+ "1": "FLAG_HAS_IPV4_ADDRESS"
+ }
+ },
+ "android.net.metrics.IpManagerEvent.EventType": {
+ "flag": false,
+ "values": {
+ "1": "PROVISIONING_OK",
+ "2": "PROVISIONING_FAIL",
+ "3": "COMPLETE_LIFECYCLE",
+ "4": "ERROR_STARTING_IPV4",
+ "5": "ERROR_STARTING_IPV6",
+ "6": "ERROR_STARTING_IPREACHABILITYMONITOR",
+ "7": "ERROR_INVALID_PROVISIONING",
+ "8": "ERROR_INTERFACE_NOT_FOUND"
+ }
+ },
+ "android.net.metrics.NetworkEvent.EventType": {
+ "flag": false,
+ "values": {
+ "1": "NETWORK_CONNECTED",
+ "2": "NETWORK_VALIDATED",
+ "3": "NETWORK_VALIDATION_FAILED",
+ "4": "NETWORK_CAPTIVE_PORTAL_FOUND",
+ "5": "NETWORK_LINGER",
+ "6": "NETWORK_UNLINGER",
+ "7": "NETWORK_DISCONNECTED",
+ "8": "NETWORK_FIRST_VALIDATION_SUCCESS",
+ "9": "NETWORK_REVALIDATION_SUCCESS",
+ "10": "NETWORK_FIRST_VALIDATION_PORTAL_FOUND",
+ "11": "NETWORK_REVALIDATION_PORTAL_FOUND",
+ "12": "NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND",
+ "13": "NETWORK_PARTIAL_CONNECTIVITY"
+ }
+ },
+ "android.net.metrics.ValidationProbeEvent.ReturnCode": {
+ "flag": false,
+ "values": {
+ "0": "DNS_FAILURE",
+ "1": "DNS_SUCCESS"
+ }
+ },
+ "android.net.wifi.WifiAnnotations.Bandwidth": {
+ "flag": false,
+ "values": {
+ "0": "CHANNEL_WIDTH_INVALID",
+ "1": "CHANNEL_WIDTH_20MHZ_NOHT",
+ "2": "CHANNEL_WIDTH_20MHZ",
+ "3": "CHANNEL_WIDTH_40MHZ",
+ "4": "CHANNEL_WIDTH_80MHZ",
+ "5": "CHANNEL_WIDTH_80MHZ_PLUS_MHZ",
+ "6": "CHANNEL_WIDTH_160MHZ"
+ }
+ },
+ "android.net.wifi.WifiAnnotations.ChannelWidth": {
+ "flag": false,
+ "values": {
+ "0": "CHANNEL_WIDTH_20MHZ",
+ "1": "CHANNEL_WIDTH_40MHZ",
+ "2": "CHANNEL_WIDTH_80MHZ",
+ "3": "CHANNEL_WIDTH_160MHZ",
+ "4": "CHANNEL_WIDTH_80MHZ_PLUS_MHZ"
+ }
+ },
+ "android.net.wifi.WifiAnnotations.Cipher": {
+ "flag": false,
+ "values": {
+ "0": "CIPHER_NONE",
+ "1": "CIPHER_NO_GROUP_ADDRESSED",
+ "2": "CIPHER_TKIP",
+ "3": "CIPHER_CCMP",
+ "4": "CIPHER_GCMP_256",
+ "5": "CIPHER_SMS4"
+ }
+ },
+ "android.net.wifi.WifiAnnotations.KeyMgmt": {
+ "flag": false,
+ "values": {
+ "0": "KEY_MGMT_NONE",
+ "1": "KEY_MGMT_PSK",
+ "2": "KEY_MGMT_EAP",
+ "3": "KEY_MGMT_FT_PSK",
+ "4": "KEY_MGMT_FT_EAP",
+ "5": "KEY_MGMT_PSK_SHA256",
+ "6": "KEY_MGMT_EAP_SHA256",
+ "7": "KEY_MGMT_OSEN",
+ "8": "KEY_MGMT_SAE",
+ "9": "KEY_MGMT_OWE",
+ "10": "KEY_MGMT_EAP_SUITE_B_192",
+ "11": "KEY_MGMT_FT_SAE",
+ "12": "KEY_MGMT_OWE_TRANSITION",
+ "13": "KEY_MGMT_WAPI_PSK",
+ "14": "KEY_MGMT_WAPI_CERT"
+ }
+ },
+ "android.net.wifi.WifiAnnotations.Protocol": {
+ "flag": false,
+ "values": {
+ "0": "PROTOCOL_NONE",
+ "1": "PROTOCOL_WPA",
+ "2": "PROTOCOL_RSN",
+ "3": "PROTOCOL_OSEN",
+ "4": "PROTOCOL_WAPI"
+ }
+ },
+ "android.net.wifi.WifiAnnotations.ScanType": {
+ "flag": false,
+ "values": {
+ "0": "SCAN_TYPE_LOW_LATENCY",
+ "1": "SCAN_TYPE_LOW_POWER",
+ "2": "SCAN_TYPE_HIGH_ACCURACY"
+ }
+ },
+ "android.net.wifi.WifiAnnotations.WifiBandBasic": {
+ "flag": false,
+ "values": {
+ "0": "WIFI_BAND_UNSPECIFIED",
+ "1": "WIFI_BAND_24_GHZ",
+ "2": "WIFI_BAND_5_GHZ",
+ "4": "WIFI_BAND_5_GHZ_DFS_ONLY",
+ "8": "WIFI_BAND_6_GHZ"
+ }
+ },
+ "android.net.wifi.WifiAnnotations.WifiStandard": {
+ "flag": false,
+ "values": {
+ "0": "WIFI_STANDARD_UNKNOWN",
+ "1": "WIFI_STANDARD_LEGACY",
+ "4": "WIFI_STANDARD_11N",
+ "5": "WIFI_STANDARD_11AC",
+ "6": "WIFI_STANDARD_11AX"
+ }
+ },
+ "android.net.wifi.WifiMigration.SharedStoreFileId": {
+ "flag": false,
+ "values": {
+ "0": "STORE_FILE_SHARED_GENERAL",
+ "1": "STORE_FILE_SHARED_SOFTAP"
+ }
+ },
+ "android.net.wifi.WifiMigration.UserStoreFileId": {
+ "flag": false,
+ "values": {
+ "2": "STORE_FILE_USER_GENERAL",
+ "3": "STORE_FILE_USER_NETWORK_SUGGESTIONS"
+ }
+ },
+ "android.net.wifi.nl80211.NativeScanResult.BssCapabilityBits": {
+ "flag": true,
+ "values": {
+ "1": "BSS_CAPABILITY_DMG_IBSS",
+ "2": "BSS_CAPABILITY_IBSS",
+ "4": "BSS_CAPABILITY_CF_POLLABLE",
+ "8": "BSS_CAPABILITY_CF_POLL_REQUEST",
+ "16": "BSS_CAPABILITY_PRIVACY",
+ "32": "BSS_CAPABILITY_SHORT_PREAMBLE",
+ "64": "BSS_CAPABILITY_PBCC",
+ "128": "BSS_CAPABILITY_CHANNEL_AGILITY",
+ "256": "BSS_CAPABILITY_SPECTRUM_MANAGEMENT",
+ "512": "BSS_CAPABILITY_QOS",
+ "1024": "BSS_CAPABILITY_SHORT_SLOT_TIME",
+ "2048": "BSS_CAPABILITY_APSD",
+ "4096": "BSS_CAPABILITY_RADIO_MANAGEMENT",
+ "8192": "BSS_CAPABILITY_DSSS_OFDM",
+ "16384": "BSS_CAPABILITY_DELAYED_BLOCK_ACK",
+ "32768": "BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK",
+ "3": "BSS_CAPABILITY_DMG_ESS"
+ }
+ },
+ "android.net.wifi.nl80211.WifiNl80211Manager.ScanResultType": {
+ "flag": false,
+ "values": {
+ "0": "SCAN_TYPE_SINGLE_SCAN",
+ "1": "SCAN_TYPE_PNO_SCAN"
+ }
+ },
+ "android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameError": {
+ "flag": false,
+ "values": {
+ "1": "SEND_MGMT_FRAME_ERROR_UNKNOWN",
+ "2": "SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED",
+ "3": "SEND_MGMT_FRAME_ERROR_NO_ACK",
+ "4": "SEND_MGMT_FRAME_ERROR_TIMEOUT",
+ "5": "SEND_MGMT_FRAME_ERROR_ALREADY_STARTED"
+ }
+ },
+ "android.os.BatteryStats.StatName": {
+ "flag": true,
+ "values": {
+ "0": "STATS_SINCE_CHARGED",
+ "1": "STATS_CURRENT",
+ "2": "STATS_SINCE_UNPLUGGED"
+ }
+ },
+ "android.os.BatteryStatsManager.WifiState": {
+ "flag": true,
+ "values": {
+ "0": "WIFI_STATE_OFF",
+ "1": "WIFI_STATE_OFF_SCANNING",
+ "2": "WIFI_STATE_ON_NO_NETWORKS",
+ "3": "WIFI_STATE_ON_DISCONNECTED",
+ "4": "WIFI_STATE_ON_CONNECTED_STA",
+ "5": "WIFI_STATE_ON_CONNECTED_P2P",
+ "6": "WIFI_STATE_ON_CONNECTED_STA_P2P",
+ "7": "WIFI_STATE_SOFT_AP"
+ }
+ },
+ "android.os.BatteryStatsManager.WifiSupplState": {
+ "flag": true,
+ "values": {
+ "0": "WIFI_SUPPL_STATE_INVALID",
+ "1": "WIFI_SUPPL_STATE_DISCONNECTED",
+ "2": "WIFI_SUPPL_STATE_INTERFACE_DISABLED",
+ "3": "WIFI_SUPPL_STATE_INACTIVE",
+ "4": "WIFI_SUPPL_STATE_SCANNING",
+ "5": "WIFI_SUPPL_STATE_AUTHENTICATING",
+ "6": "WIFI_SUPPL_STATE_ASSOCIATING",
+ "7": "WIFI_SUPPL_STATE_ASSOCIATED",
+ "8": "WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE",
+ "9": "WIFI_SUPPL_STATE_GROUP_HANDSHAKE",
+ "10": "WIFI_SUPPL_STATE_COMPLETED",
+ "11": "WIFI_SUPPL_STATE_DORMANT",
+ "12": "WIFI_SUPPL_STATE_UNINITIALIZED"
+ }
+ },
+ "android.os.BugreportManager.BugreportCallback.BugreportErrorCode": {
+ "flag": false,
+ "values": {
+ "1": "BUGREPORT_ERROR_INVALID_INPUT",
+ "2": "BUGREPORT_ERROR_RUNTIME",
+ "3": "BUGREPORT_ERROR_USER_DENIED_CONSENT",
+ "4": "BUGREPORT_ERROR_USER_CONSENT_TIMED_OUT",
+ "5": "BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS"
+ }
+ },
+ "android.os.BugreportParams.BugreportMode": {
+ "flag": false,
+ "values": {
+ "0": "BUGREPORT_MODE_FULL",
+ "1": "BUGREPORT_MODE_INTERACTIVE",
+ "2": "BUGREPORT_MODE_REMOTE",
+ "3": "BUGREPORT_MODE_WEAR",
+ "4": "BUGREPORT_MODE_TELEPHONY",
+ "5": "BUGREPORT_MODE_WIFI"
+ }
+ },
+ "android.os.CoolingDevice.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_FAN",
+ "1": "TYPE_BATTERY",
+ "2": "TYPE_CPU",
+ "3": "TYPE_GPU",
+ "4": "TYPE_MODEM",
+ "5": "TYPE_NPU",
+ "6": "TYPE_COMPONENT"
+ }
+ },
+ "android.os.FileObserver.NotifyEventType": {
+ "flag": true,
+ "values": {
+ "1": "ACCESS",
+ "2": "MODIFY",
+ "4": "ATTRIB",
+ "8": "CLOSE_WRITE",
+ "16": "CLOSE_NOWRITE",
+ "32": "OPEN",
+ "64": "MOVED_FROM",
+ "128": "MOVED_TO",
+ "256": "CREATE",
+ "512": "DELETE",
+ "1024": "DELETE_SELF",
+ "2048": "MOVE_SELF"
+ }
+ },
+ "android.os.HardwarePropertiesManager.DeviceTemperatureType": {
+ "flag": false,
+ "values": {
+ "0": "DEVICE_TEMPERATURE_CPU",
+ "1": "DEVICE_TEMPERATURE_GPU",
+ "2": "DEVICE_TEMPERATURE_BATTERY",
+ "3": "DEVICE_TEMPERATURE_SKIN"
+ }
+ },
+ "android.os.HardwarePropertiesManager.TemperatureSource": {
+ "flag": false,
+ "values": {
+ "0": "TEMPERATURE_CURRENT",
+ "1": "TEMPERATURE_THROTTLING",
+ "2": "TEMPERATURE_SHUTDOWN",
+ "3": "TEMPERATURE_THROTTLING_BELOW_VR_MIN"
+ }
+ },
+ "android.os.HwParcel.Status": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_SUCCESS"
+ }
+ },
+ "android.os.IncidentManager.PrivacyPolicy": {
+ "flag": false,
+ "values": {
+ "200": "PRIVACY_POLICY_AUTO",
+ "100": "PRIVACY_POLICY_EXPLICIT",
+ "0": "PRIVACY_POLICY_LOCAL"
+ }
+ },
+ "android.os.MessageQueue.OnFileDescriptorEventListener.Events": {
+ "flag": true,
+ "values": {
+ "1": "EVENT_INPUT",
+ "2": "EVENT_OUTPUT",
+ "4": "EVENT_ERROR"
+ }
+ },
+ "android.os.Parcelable.ContentsFlags": {
+ "flag": true,
+ "values": {
+ "1": "CONTENTS_FILE_DESCRIPTOR"
+ }
+ },
+ "android.os.Parcelable.Stability": {
+ "flag": true,
+ "values": {
+ "0": "PARCELABLE_STABILITY_LOCAL",
+ "1": "PARCELABLE_STABILITY_VINTF"
+ }
+ },
+ "android.os.Parcelable.WriteFlags": {
+ "flag": true,
+ "values": {
+ "1": "PARCELABLE_WRITE_RETURN_VALUE",
+ "2": "PARCELABLE_ELIDE_DUPLICATES"
+ }
+ },
+ "android.os.PowerManager.AutoPowerSaveModeTriggers": {
+ "flag": false,
+ "values": {
+ "0": "POWER_SAVE_MODE_TRIGGER_PERCENTAGE",
+ "1": "POWER_SAVE_MODE_TRIGGER_DYNAMIC"
+ }
+ },
+ "android.os.PowerManager.BrightnessConstraint": {
+ "flag": false,
+ "values": {
+ "0": "BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM",
+ "1": "BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM",
+ "2": "BRIGHTNESS_CONSTRAINT_TYPE_DEFAULT",
+ "3": "BRIGHTNESS_CONSTRAINT_TYPE_DIM",
+ "4": "BRIGHTNESS_CONSTRAINT_TYPE_DOZE",
+ "5": "BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM_VR",
+ "6": "BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM_VR",
+ "7": "BRIGHTNESS_CONSTRAINT_TYPE_DEFAULT_VR"
+ }
+ },
+ "android.os.PowerManager.LocationPowerSaveMode": {
+ "flag": false,
+ "values": {
+ "0": "LOCATION_MODE_NO_CHANGE",
+ "1": "LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF",
+ "2": "LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF",
+ "3": "LOCATION_MODE_FOREGROUND_ONLY",
+ "4": "LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF"
+ }
+ },
+ "android.os.PowerManager.ServiceType": {
+ "flag": false,
+ "values": {
+ "1": "LOCATION",
+ "2": "VIBRATION",
+ "3": "ANIMATION",
+ "4": "FULL_BACKUP",
+ "5": "KEYVALUE_BACKUP",
+ "6": "NETWORK_FIREWALL",
+ "7": "SCREEN_BRIGHTNESS",
+ "8": "SOUND",
+ "9": "BATTERY_STATS",
+ "10": "DATA_SAVER",
+ "11": "FORCE_ALL_APPS_STANDBY",
+ "12": "FORCE_BACKGROUND_CHECK",
+ "13": "OPTIONAL_SENSORS",
+ "14": "AOD",
+ "15": "QUICK_DOZE",
+ "16": "NIGHT_MODE"
+ }
+ },
+ "android.os.PowerManager.ShutdownReason": {
+ "flag": false,
+ "values": {
+ "0": "SHUTDOWN_REASON_UNKNOWN",
+ "1": "SHUTDOWN_REASON_SHUTDOWN",
+ "2": "SHUTDOWN_REASON_REBOOT",
+ "3": "SHUTDOWN_REASON_USER_REQUESTED",
+ "4": "SHUTDOWN_REASON_THERMAL_SHUTDOWN",
+ "5": "SHUTDOWN_REASON_LOW_BATTERY",
+ "6": "SHUTDOWN_REASON_BATTERY_THERMAL"
+ }
+ },
+ "android.os.PowerManager.ThermalStatus": {
+ "flag": false,
+ "values": {
+ "0": "THERMAL_STATUS_NONE",
+ "1": "THERMAL_STATUS_LIGHT",
+ "2": "THERMAL_STATUS_MODERATE",
+ "3": "THERMAL_STATUS_SEVERE",
+ "4": "THERMAL_STATUS_CRITICAL",
+ "5": "THERMAL_STATUS_EMERGENCY",
+ "6": "THERMAL_STATUS_SHUTDOWN"
+ }
+ },
+ "android.os.PowerManager.WakeReason": {
+ "flag": false,
+ "values": {
+ "0": "WAKE_REASON_UNKNOWN",
+ "1": "WAKE_REASON_POWER_BUTTON",
+ "2": "WAKE_REASON_APPLICATION",
+ "3": "WAKE_REASON_PLUGGED_IN",
+ "4": "WAKE_REASON_GESTURE",
+ "5": "WAKE_REASON_CAMERA_LAUNCH",
+ "6": "WAKE_REASON_WAKE_KEY",
+ "7": "WAKE_REASON_WAKE_MOTION",
+ "8": "WAKE_REASON_HDMI"
+ }
+ },
+ "android.os.PowerWhitelistManager.WhitelistEvent": {
+ "flag": false,
+ "values": {
+ "0": "EVENT_UNSPECIFIED",
+ "1": "EVENT_SMS",
+ "2": "EVENT_MMS"
+ }
+ },
+ "android.os.StrictMode.ThreadPolicyMask": {
+ "flag": true,
+ "values": {
+ "1": "DETECT_THREAD_DISK_WRITE",
+ "2": "DETECT_THREAD_DISK_READ",
+ "4": "DETECT_THREAD_NETWORK",
+ "8": "DETECT_THREAD_CUSTOM",
+ "16": "DETECT_THREAD_RESOURCE_MISMATCH",
+ "32": "DETECT_THREAD_UNBUFFERED_IO",
+ "64": "DETECT_THREAD_EXPLICIT_GC",
+ "-2147483648": "PENALTY_GATHER",
+ "1073741824": "PENALTY_LOG",
+ "536870912": "PENALTY_DIALOG",
+ "268435456": "PENALTY_DEATH",
+ "134217728": "PENALTY_FLASH",
+ "67108864": "PENALTY_DROPBOX",
+ "33554432": "PENALTY_DEATH_ON_NETWORK",
+ "16777216": "PENALTY_DEATH_ON_CLEARTEXT_NETWORK",
+ "8388608": "PENALTY_DEATH_ON_FILE_URI_EXPOSURE"
+ }
+ },
+ "android.os.StrictMode.VmPolicyMask": {
+ "flag": true,
+ "values": {
+ "1": "DETECT_VM_CURSOR_LEAKS",
+ "2": "DETECT_VM_CLOSABLE_LEAKS",
+ "4": "DETECT_VM_ACTIVITY_LEAKS",
+ "8": "DETECT_VM_INSTANCE_LEAKS",
+ "16": "DETECT_VM_REGISTRATION_LEAKS",
+ "32": "DETECT_VM_FILE_URI_EXPOSURE",
+ "64": "DETECT_VM_CLEARTEXT_NETWORK",
+ "128": "DETECT_VM_CONTENT_URI_WITHOUT_PERMISSION",
+ "256": "DETECT_VM_UNTAGGED_SOCKET",
+ "512": "DETECT_VM_NON_SDK_API_USAGE",
+ "1024": "DETECT_VM_IMPLICIT_DIRECT_BOOT",
+ "4096": "DETECT_VM_INCORRECT_CONTEXT_USE",
+ "-2147483648": "PENALTY_GATHER",
+ "1073741824": "PENALTY_LOG",
+ "536870912": "PENALTY_DIALOG",
+ "268435456": "PENALTY_DEATH",
+ "134217728": "PENALTY_FLASH",
+ "67108864": "PENALTY_DROPBOX",
+ "33554432": "PENALTY_DEATH_ON_NETWORK",
+ "16777216": "PENALTY_DEATH_ON_CLEARTEXT_NETWORK",
+ "8388608": "PENALTY_DEATH_ON_FILE_URI_EXPOSURE"
+ }
+ },
+ "android.os.Temperature.ThrottlingStatus": {
+ "flag": false,
+ "values": {
+ "0": "THROTTLING_NONE",
+ "1": "THROTTLING_LIGHT",
+ "2": "THROTTLING_MODERATE",
+ "3": "THROTTLING_SEVERE",
+ "4": "THROTTLING_CRITICAL",
+ "5": "THROTTLING_EMERGENCY",
+ "6": "THROTTLING_SHUTDOWN"
+ }
+ },
+ "android.os.Temperature.Type": {
+ "flag": false,
+ "values": {
+ "-1": "TYPE_UNKNOWN",
+ "0": "TYPE_CPU",
+ "1": "TYPE_GPU",
+ "2": "TYPE_BATTERY",
+ "3": "TYPE_SKIN",
+ "4": "TYPE_USB_PORT",
+ "5": "TYPE_POWER_AMPLIFIER",
+ "6": "TYPE_BCL_VOLTAGE",
+ "7": "TYPE_BCL_CURRENT",
+ "8": "TYPE_BCL_PERCENTAGE",
+ "9": "TYPE_NPU"
+ }
+ },
+ "android.os.UpdateEngine.ErrorCode": {
+ "flag": false,
+ "values": {
+ "0": "SUCCESS",
+ "1": "ERROR",
+ "4": "FILESYSTEM_COPIER_ERROR",
+ "5": "POST_INSTALL_RUNNER_ERROR",
+ "6": "PAYLOAD_MISMATCHED_TYPE_ERROR",
+ "7": "INSTALL_DEVICE_OPEN_ERROR",
+ "8": "KERNEL_DEVICE_OPEN_ERROR",
+ "9": "DOWNLOAD_TRANSFER_ERROR",
+ "10": "PAYLOAD_HASH_MISMATCH_ERROR",
+ "11": "PAYLOAD_SIZE_MISMATCH_ERROR",
+ "12": "DOWNLOAD_PAYLOAD_VERIFICATION_ERROR",
+ "51": "PAYLOAD_TIMESTAMP_ERROR",
+ "52": "UPDATED_BUT_NOT_ACTIVE",
+ "60": "NOT_ENOUGH_SPACE",
+ "61": "DEVICE_CORRUPTED"
+ }
+ },
+ "android.os.UserManager.QuietModeFlag": {
+ "flag": true,
+ "values": {
+ "1": "QUIET_MODE_DISABLE_ONLY_IF_CREDENTIAL_NOT_REQUIRED",
+ "2": "QUIET_MODE_DISABLE_DONT_ASK_CREDENTIAL"
+ }
+ },
+ "android.os.UserManager.RemoveResult": {
+ "flag": false,
+ "values": {
+ "0": "REMOVE_RESULT_REMOVED",
+ "1": "REMOVE_RESULT_SET_EPHEMERAL",
+ "2": "REMOVE_RESULT_ALREADY_BEING_REMOVED",
+ "3": "REMOVE_RESULT_ERROR"
+ }
+ },
+ "android.os.UserManager.UserOperationResult": {
+ "flag": false,
+ "values": {
+ "0": "USER_OPERATION_SUCCESS",
+ "1": "USER_OPERATION_ERROR_UNKNOWN",
+ "2": "USER_OPERATION_ERROR_MANAGED_PROFILE",
+ "3": "USER_OPERATION_ERROR_MAX_RUNNING_USERS",
+ "4": "USER_OPERATION_ERROR_CURRENT_USER",
+ "5": "USER_OPERATION_ERROR_LOW_STORAGE",
+ "6": "USER_OPERATION_ERROR_MAX_USERS"
+ }
+ },
+ "android.os.UserManager.UserRestrictionSource": {
+ "flag": true,
+ "values": {
+ "0": "RESTRICTION_NOT_SET",
+ "1": "RESTRICTION_SOURCE_SYSTEM",
+ "2": "RESTRICTION_SOURCE_DEVICE_OWNER",
+ "4": "RESTRICTION_SOURCE_PROFILE_OWNER"
+ }
+ },
+ "android.os.UserManager.UserSwitchabilityResult": {
+ "flag": true,
+ "values": {
+ "0": "SWITCHABILITY_STATUS_OK",
+ "1": "SWITCHABILITY_STATUS_USER_IN_CALL",
+ "2": "SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED",
+ "4": "SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED"
+ }
+ },
+ "android.os.VibrationAttributes.Flag": {
+ "flag": false,
+ "values": {
+ "1": "FLAG_BYPASS_INTERRUPTION_POLICY"
+ }
+ },
+ "android.os.VibrationAttributes.Usage": {
+ "flag": false,
+ "values": {
+ "0": "USAGE_UNKNOWN",
+ "17": "USAGE_ALARM",
+ "33": "USAGE_RINGTONE",
+ "49": "USAGE_NOTIFICATION",
+ "65": "USAGE_COMMUNICATION_REQUEST",
+ "18": "USAGE_TOUCH",
+ "34": "USAGE_PHYSICAL_EMULATION",
+ "50": "USAGE_HARDWARE_FEEDBACK"
+ }
+ },
+ "android.os.VibrationAttributes.UsageClass": {
+ "flag": false,
+ "values": {
+ "0": "USAGE_CLASS_UNKNOWN",
+ "1": "USAGE_CLASS_ALARM",
+ "2": "USAGE_CLASS_FEEDBACK"
+ }
+ },
+ "android.os.VibrationEffect.Composition.Primitive": {
+ "flag": false,
+ "values": {
+ "1": "PRIMITIVE_CLICK",
+ "2": "PRIMITIVE_THUD",
+ "3": "PRIMITIVE_SPIN",
+ "4": "PRIMITIVE_QUICK_RISE",
+ "5": "PRIMITIVE_SLOW_RISE",
+ "6": "PRIMITIVE_QUICK_FALL",
+ "7": "PRIMITIVE_TICK"
+ }
+ },
+ "android.os.VibrationEffect.EffectType": {
+ "flag": false,
+ "values": {
+ "2": "EFFECT_TICK",
+ "0": "EFFECT_CLICK",
+ "5": "EFFECT_HEAVY_CLICK",
+ "1": "EFFECT_DOUBLE_CLICK"
+ }
+ },
+ "android.os.Vibrator.VibrationEffectSupport": {
+ "flag": false,
+ "values": {
+ "0": "VIBRATION_EFFECT_SUPPORT_UNKNOWN",
+ "1": "VIBRATION_EFFECT_SUPPORT_YES",
+ "2": "VIBRATION_EFFECT_SUPPORT_NO"
+ }
+ },
+ "android.os.Vibrator.VibrationIntensity": {
+ "flag": false,
+ "values": {
+ "0": "VIBRATION_INTENSITY_OFF",
+ "1": "VIBRATION_INTENSITY_LOW",
+ "2": "VIBRATION_INTENSITY_MEDIUM",
+ "3": "VIBRATION_INTENSITY_HIGH"
+ }
+ },
+ "android.os.connectivity.WifiActivityEnergyInfo.StackState": {
+ "flag": false,
+ "values": {
+ "0": "STACK_STATE_INVALID",
+ "1": "STACK_STATE_STATE_ACTIVE",
+ "2": "STACK_STATE_STATE_SCANNING",
+ "3": "STACK_STATE_STATE_IDLE"
+ }
+ },
+ "android.os.image.DynamicSystemClient.InstallationStatus": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_UNKNOWN",
+ "1": "STATUS_NOT_STARTED",
+ "2": "STATUS_IN_PROGRESS",
+ "3": "STATUS_READY",
+ "4": "STATUS_IN_USE"
+ }
+ },
+ "android.os.image.DynamicSystemClient.StatusChangedCause": {
+ "flag": false,
+ "values": {
+ "0": "CAUSE_NOT_SPECIFIED",
+ "1": "CAUSE_INSTALL_COMPLETED",
+ "2": "CAUSE_INSTALL_CANCELLED",
+ "3": "CAUSE_ERROR_IO",
+ "4": "CAUSE_ERROR_INVALID_URL",
+ "5": "CAUSE_ERROR_IPC",
+ "6": "CAUSE_ERROR_EXCEPTION"
+ }
+ },
+ "android.os.incremental.IncrementalManager.CreateMode": {
+ "flag": false,
+ "values": {
+ "1": "CREATE_MODE_TEMPORARY_BIND",
+ "2": "CREATE_MODE_PERMANENT_BIND",
+ "4": "CREATE_MODE_CREATE",
+ "8": "CREATE_MODE_OPEN_EXISTING"
+ }
+ },
+ "android.os.storage.StorageManager.AllocateFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_ALLOCATE_AGGRESSIVE",
+ "2": "FLAG_ALLOCATE_DEFY_ALL_RESERVED",
+ "4": "FLAG_ALLOCATE_DEFY_HALF_RESERVED",
+ "8": "FLAG_ALLOCATE_NON_CACHE_ONLY",
+ "16": "FLAG_ALLOCATE_CACHE_ONLY"
+ }
+ },
+ "android.os.storage.StorageManager.QuotaType": {
+ "flag": false,
+ "values": {
+ "0": "QUOTA_TYPE_MEDIA_NONE",
+ "2": "QUOTA_TYPE_MEDIA_AUDIO",
+ "3": "QUOTA_TYPE_MEDIA_VIDEO",
+ "1": "QUOTA_TYPE_MEDIA_IMAGE"
+ }
+ },
+ "android.permission.PermissionControllerManager.CountPermissionAppsFlag": {
+ "flag": true,
+ "values": {
+ "1": "COUNT_ONLY_WHEN_GRANTED",
+ "2": "COUNT_WHEN_SYSTEM"
+ }
+ },
+ "android.permission.PermissionControllerManager.Reason": {
+ "flag": false,
+ "values": {
+ "1": "REASON_MALWARE",
+ "2": "REASON_INSTALLER_POLICY_VIOLATION"
+ }
+ },
+ "android.print.PrintAttributes.ColorMode": {
+ "flag": true,
+ "values": {
+ "1": "COLOR_MODE_MONOCHROME",
+ "2": "COLOR_MODE_COLOR"
+ }
+ },
+ "android.print.PrintAttributes.DuplexMode": {
+ "flag": true,
+ "values": {
+ "1": "DUPLEX_MODE_NONE",
+ "2": "DUPLEX_MODE_LONG_EDGE",
+ "4": "DUPLEX_MODE_SHORT_EDGE"
+ }
+ },
+ "android.print.PrintDocumentInfo.ContentType": {
+ "flag": false,
+ "values": {
+ "-1": "CONTENT_TYPE_UNKNOWN",
+ "0": "CONTENT_TYPE_DOCUMENT",
+ "1": "CONTENT_TYPE_PHOTO"
+ }
+ },
+ "android.print.PrintJobInfo.State": {
+ "flag": false,
+ "values": {
+ "1": "STATE_CREATED",
+ "2": "STATE_QUEUED",
+ "3": "STATE_STARTED",
+ "4": "STATE_BLOCKED",
+ "5": "STATE_COMPLETED",
+ "6": "STATE_FAILED",
+ "7": "STATE_CANCELED"
+ }
+ },
+ "android.print.PrinterInfo.Status": {
+ "flag": false,
+ "values": {
+ "1": "STATUS_IDLE",
+ "2": "STATUS_BUSY",
+ "3": "STATUS_UNAVAILABLE"
+ }
+ },
+ "android.provider.BlockedNumberContract.BlockStatus": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_NOT_BLOCKED",
+ "1": "STATUS_BLOCKED_IN_LIST",
+ "2": "STATUS_BLOCKED_RESTRICTED",
+ "3": "STATUS_BLOCKED_UNKNOWN_NUMBER",
+ "4": "STATUS_BLOCKED_PAYPHONE",
+ "5": "STATUS_BLOCKED_NOT_IN_CONTACTS"
+ }
+ },
+ "android.provider.FontsContract.FontFamilyResult.FontResultStatus": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_OK",
+ "1": "STATUS_WRONG_CERTIFICATES",
+ "2": "STATUS_UNEXPECTED_DATA_PROVIDED"
+ }
+ },
+ "android.provider.FontsContract.FontRequestCallback.FontRequestFailReason": {
+ "flag": false,
+ "values": {
+ "-1": "FAIL_REASON_PROVIDER_NOT_FOUND",
+ "-3": "FAIL_REASON_FONT_LOAD_ERROR",
+ "1": "FAIL_REASON_FONT_NOT_FOUND",
+ "2": "FAIL_REASON_FONT_UNAVAILABLE",
+ "3": "FAIL_REASON_MALFORMED_QUERY"
+ }
+ },
+ "android.provider.Settings.AddWifiResult": {
+ "flag": false,
+ "values": {
+ "0": "ADD_WIFI_RESULT_SUCCESS",
+ "1": "ADD_WIFI_RESULT_ADD_OR_UPDATE_FAILED",
+ "2": "ADD_WIFI_RESULT_ALREADY_EXISTS"
+ }
+ },
+ "android.provider.Settings.EnableMmsDataReason": {
+ "flag": false,
+ "values": {
+ "0": "ENABLE_MMS_DATA_REQUEST_REASON_INCOMING_MMS",
+ "1": "ENABLE_MMS_DATA_REQUEST_REASON_OUTGOING_MMS"
+ }
+ },
+ "android.provider.Settings.ResetMode": {
+ "flag": false,
+ "values": {
+ "1": "RESET_MODE_PACKAGE_DEFAULTS",
+ "2": "RESET_MODE_UNTRUSTED_DEFAULTS",
+ "3": "RESET_MODE_UNTRUSTED_CHANGES",
+ "4": "RESET_MODE_TRUSTED_DEFAULTS"
+ }
+ },
+ "android.provider.Settings.Secure.UserSetupPersonalization": {
+ "flag": false,
+ "values": {
+ "0": "USER_SETUP_PERSONALIZATION_NOT_STARTED",
+ "1": "USER_SETUP_PERSONALIZATION_STARTED",
+ "2": "USER_SETUP_PERSONALIZATION_PAUSED",
+ "10": "USER_SETUP_PERSONALIZATION_COMPLETE"
+ }
+ },
+ "android.provider.Telephony.Carriers.EditStatus": {
+ "flag": false,
+ "values": {
+ "0": "UNEDITED",
+ "1": "USER_EDITED",
+ "2": "USER_DELETED",
+ "5": "CARRIER_DELETED",
+ "4": "CARRIER_EDITED"
+ }
+ },
+ "android.renderscript.ScriptIntrinsicBLAS.Diag": {
+ "flag": false,
+ "values": {
+ "131": "NON_UNIT",
+ "132": "UNIT"
+ }
+ },
+ "android.renderscript.ScriptIntrinsicBLAS.Side": {
+ "flag": false,
+ "values": {
+ "141": "LEFT",
+ "142": "RIGHT"
+ }
+ },
+ "android.renderscript.ScriptIntrinsicBLAS.Transpose": {
+ "flag": false,
+ "values": {
+ "111": "NO_TRANSPOSE",
+ "112": "TRANSPOSE",
+ "113": "CONJ_TRANSPOSE"
+ }
+ },
+ "android.renderscript.ScriptIntrinsicBLAS.Uplo": {
+ "flag": false,
+ "values": {
+ "121": "UPPER",
+ "122": "LOWER"
+ }
+ },
+ "android.security.identity.IdentityCredentialStore.Ciphersuite": {
+ "flag": false,
+ "values": {
+ "1": "CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256"
+ }
+ },
+ "android.security.identity.ResultData.Status": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_OK",
+ "1": "STATUS_NO_SUCH_ENTRY",
+ "2": "STATUS_NOT_REQUESTED",
+ "3": "STATUS_NOT_IN_REQUEST_MESSAGE",
+ "4": "STATUS_USER_AUTHENTICATION_FAILED",
+ "5": "STATUS_READER_AUTHENTICATION_FAILED",
+ "6": "STATUS_NO_ACCESS_CONTROL_PROFILES"
+ }
+ },
+ "android.security.keystore.KeyProperties.AuthEnum": {
+ "flag": true,
+ "values": {
+ "2": "AUTH_BIOMETRIC_STRONG",
+ "1": "AUTH_DEVICE_CREDENTIAL"
+ }
+ },
+ "android.security.keystore.KeyProperties.OriginEnum": {
+ "flag": false,
+ "values": {
+ "1": "ORIGIN_GENERATED",
+ "2": "ORIGIN_IMPORTED",
+ "4": "ORIGIN_UNKNOWN"
+ }
+ },
+ "android.security.keystore.KeyProperties.PurposeEnum": {
+ "flag": true,
+ "values": {
+ "1": "PURPOSE_ENCRYPT",
+ "2": "PURPOSE_DECRYPT",
+ "4": "PURPOSE_SIGN",
+ "8": "PURPOSE_VERIFY",
+ "32": "PURPOSE_WRAP_KEY"
+ }
+ },
+ "android.security.keystore.KeyProperties.SecurityLevelEnum": {
+ "flag": false,
+ "values": {
+ "-2": "SECURITY_LEVEL_UNKNOWN",
+ "-1": "SECURITY_LEVEL_UNKNOWN_SECURE",
+ "0": "SECURITY_LEVEL_SOFTWARE",
+ "1": "SECURITY_LEVEL_TRUSTED_ENVIRONMENT",
+ "2": "SECURITY_LEVEL_STRONGBOX"
+ }
+ },
+ "android.security.keystore.recovery.KeyChainProtectionParams.LockScreenUiFormat": {
+ "flag": false,
+ "values": {
+ "1": "UI_FORMAT_PIN",
+ "2": "UI_FORMAT_PASSWORD",
+ "3": "UI_FORMAT_PATTERN"
+ }
+ },
+ "android.security.keystore.recovery.KeyChainProtectionParams.UserSecretType": {
+ "flag": false,
+ "values": {
+ "100": "TYPE_LOCKSCREEN"
+ }
+ },
+ "android.security.keystore.recovery.KeyDerivationParams.KeyDerivationAlgorithm": {
+ "flag": false,
+ "values": {
+ "1": "ALGORITHM_SHA256",
+ "2": "ALGORITHM_SCRYPT"
+ }
+ },
+ "android.service.attention.AttentionService.AttentionFailureCodes": {
+ "flag": false,
+ "values": {
+ "2": "ATTENTION_FAILURE_UNKNOWN",
+ "3": "ATTENTION_FAILURE_CANCELLED",
+ "4": "ATTENTION_FAILURE_PREEMPTED",
+ "5": "ATTENTION_FAILURE_TIMED_OUT",
+ "6": "ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT"
+ }
+ },
+ "android.service.attention.AttentionService.AttentionSuccessCodes": {
+ "flag": false,
+ "values": {
+ "0": "ATTENTION_SUCCESS_ABSENT",
+ "1": "ATTENTION_SUCCESS_PRESENT"
+ }
+ },
+ "android.service.autofill.FillEventHistory.Event.EventIds": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_DATASET_SELECTED",
+ "1": "TYPE_DATASET_AUTHENTICATION_SELECTED",
+ "2": "TYPE_AUTHENTICATION_SELECTED",
+ "3": "TYPE_SAVE_SHOWN",
+ "4": "TYPE_CONTEXT_COMMITTED",
+ "5": "TYPE_DATASETS_SHOWN"
+ }
+ },
+ "android.service.autofill.FillEventHistory.Event.NoSaveReason": {
+ "flag": false,
+ "values": {
+ "0": "NO_SAVE_REASON_NONE",
+ "1": "NO_SAVE_REASON_NO_SAVE_INFO",
+ "2": "NO_SAVE_REASON_WITH_DELAY_SAVE_FLAG",
+ "3": "NO_SAVE_REASON_HAS_EMPTY_REQUIRED",
+ "4": "NO_SAVE_REASON_NO_VALUE_CHANGED",
+ "5": "NO_SAVE_REASON_FIELD_VALIDATION_FAILED",
+ "6": "NO_SAVE_REASON_DATASET_MATCH"
+ }
+ },
+ "android.service.autofill.FillRequest.RequestFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_MANUAL_REQUEST",
+ "2": "FLAG_COMPATIBILITY_MODE_REQUEST",
+ "4": "FLAG_PASSWORD_INPUT_TYPE",
+ "16": "FLAG_VIEW_NOT_FOCUSED"
+ }
+ },
+ "android.service.autofill.FillResponse.FillResponseFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_TRACK_CONTEXT_COMMITED",
+ "2": "FLAG_DISABLE_ACTIVITY_ONLY"
+ }
+ },
+ "android.service.autofill.SaveInfo.NegativeButtonStyle": {
+ "flag": false,
+ "values": {
+ "0": "NEGATIVE_BUTTON_STYLE_CANCEL",
+ "1": "NEGATIVE_BUTTON_STYLE_REJECT",
+ "2": "NEGATIVE_BUTTON_STYLE_NEVER"
+ }
+ },
+ "android.service.autofill.SaveInfo.PositiveButtonStyle": {
+ "flag": false,
+ "values": {
+ "0": "POSITIVE_BUTTON_STYLE_SAVE",
+ "1": "POSITIVE_BUTTON_STYLE_CONTINUE"
+ }
+ },
+ "android.service.autofill.SaveInfo.SaveDataType": {
+ "flag": true,
+ "values": {
+ "0": "SAVE_DATA_TYPE_GENERIC",
+ "1": "SAVE_DATA_TYPE_PASSWORD",
+ "2": "SAVE_DATA_TYPE_ADDRESS",
+ "4": "SAVE_DATA_TYPE_CREDIT_CARD",
+ "8": "SAVE_DATA_TYPE_USERNAME",
+ "16": "SAVE_DATA_TYPE_EMAIL_ADDRESS",
+ "32": "SAVE_DATA_TYPE_DEBIT_CARD",
+ "64": "SAVE_DATA_TYPE_PAYMENT_CARD",
+ "128": "SAVE_DATA_TYPE_GENERIC_CARD"
+ }
+ },
+ "android.service.autofill.SaveInfo.SaveInfoFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE",
+ "2": "FLAG_DONT_SAVE_ON_FINISH",
+ "4": "FLAG_DELAY_SAVE"
+ }
+ },
+ "android.service.autofill.augmented.AugmentedAutofillService.AutofillProxy.ReportEvent": {
+ "flag": false,
+ "values": {
+ "1": "REPORT_EVENT_NO_RESPONSE",
+ "2": "REPORT_EVENT_UI_SHOWN",
+ "3": "REPORT_EVENT_UI_DESTROYED",
+ "4": "REPORT_EVENT_INLINE_RESPONSE"
+ }
+ },
+ "android.service.contentcapture.ActivityEvent.ActivityEventType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_ACTIVITY_RESUMED",
+ "2": "TYPE_ACTIVITY_PAUSED",
+ "23": "TYPE_ACTIVITY_STOPPED",
+ "24": "TYPE_ACTIVITY_DESTROYED"
+ }
+ },
+ "android.service.controls.Control.Status": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_UNKNOWN",
+ "1": "STATUS_OK",
+ "2": "STATUS_NOT_FOUND",
+ "3": "STATUS_ERROR",
+ "4": "STATUS_DISABLED"
+ }
+ },
+ "android.service.controls.DeviceTypes.DeviceType": {
+ "flag": false,
+ "values": {
+ "-1": "TYPE_GENERIC_ON_OFF",
+ "-2": "TYPE_GENERIC_START_STOP",
+ "-3": "TYPE_GENERIC_OPEN_CLOSE",
+ "-4": "TYPE_GENERIC_LOCK_UNLOCK",
+ "-5": "TYPE_GENERIC_ARM_DISARM",
+ "-6": "TYPE_GENERIC_TEMP_SETTING",
+ "-7": "TYPE_GENERIC_VIEWSTREAM",
+ "0": "TYPE_UNKNOWN",
+ "1": "TYPE_AC_HEATER",
+ "2": "TYPE_AC_UNIT",
+ "3": "TYPE_AIR_FRESHENER",
+ "4": "TYPE_AIR_PURIFIER",
+ "5": "TYPE_COFFEE_MAKER",
+ "6": "TYPE_DEHUMIDIFIER",
+ "7": "TYPE_DISPLAY",
+ "8": "TYPE_FAN",
+ "10": "TYPE_HOOD",
+ "11": "TYPE_HUMIDIFIER",
+ "12": "TYPE_KETTLE",
+ "13": "TYPE_LIGHT",
+ "14": "TYPE_MICROWAVE",
+ "15": "TYPE_OUTLET",
+ "16": "TYPE_RADIATOR",
+ "17": "TYPE_REMOTE_CONTROL",
+ "18": "TYPE_SET_TOP",
+ "19": "TYPE_STANDMIXER",
+ "20": "TYPE_STYLER",
+ "21": "TYPE_SWITCH",
+ "22": "TYPE_TV",
+ "23": "TYPE_WATER_HEATER",
+ "24": "TYPE_DISHWASHER",
+ "25": "TYPE_DRYER",
+ "26": "TYPE_MOP",
+ "27": "TYPE_MOWER",
+ "28": "TYPE_MULTICOOKER",
+ "29": "TYPE_SHOWER",
+ "30": "TYPE_SPRINKLER",
+ "31": "TYPE_WASHER",
+ "32": "TYPE_VACUUM",
+ "33": "TYPE_AWNING",
+ "34": "TYPE_BLINDS",
+ "35": "TYPE_CLOSET",
+ "36": "TYPE_CURTAIN",
+ "37": "TYPE_DOOR",
+ "38": "TYPE_DRAWER",
+ "39": "TYPE_GARAGE",
+ "40": "TYPE_GATE",
+ "41": "TYPE_PERGOLA",
+ "42": "TYPE_SHUTTER",
+ "43": "TYPE_WINDOW",
+ "44": "TYPE_VALVE",
+ "45": "TYPE_LOCK",
+ "46": "TYPE_SECURITY_SYSTEM",
+ "47": "TYPE_HEATER",
+ "48": "TYPE_REFRIGERATOR",
+ "49": "TYPE_THERMOSTAT",
+ "50": "TYPE_CAMERA",
+ "51": "TYPE_DOORBELL",
+ "52": "TYPE_ROUTINE"
+ }
+ },
+ "android.service.controls.actions.ControlAction.ActionType": {
+ "flag": false,
+ "values": {
+ "-1": "TYPE_ERROR",
+ "1": "TYPE_BOOLEAN",
+ "2": "TYPE_FLOAT",
+ "4": "TYPE_MODE",
+ "5": "TYPE_COMMAND"
+ }
+ },
+ "android.service.controls.actions.ControlAction.ResponseResult": {
+ "flag": false,
+ "values": {
+ "0": "RESPONSE_UNKNOWN",
+ "1": "RESPONSE_OK",
+ "2": "RESPONSE_FAIL",
+ "3": "RESPONSE_CHALLENGE_ACK",
+ "4": "RESPONSE_CHALLENGE_PIN",
+ "5": "RESPONSE_CHALLENGE_PASSPHRASE"
+ }
+ },
+ "android.service.controls.templates.ControlTemplate.TemplateType": {
+ "flag": false,
+ "values": {
+ "-1": "TYPE_ERROR",
+ "0": "TYPE_NO_TEMPLATE",
+ "1": "TYPE_TOGGLE",
+ "2": "TYPE_RANGE",
+ "3": "TYPE_THUMBNAIL",
+ "6": "TYPE_TOGGLE_RANGE",
+ "7": "TYPE_TEMPERATURE",
+ "8": "TYPE_STATELESS"
+ }
+ },
+ "android.service.controls.templates.TemperatureControlTemplate.Mode": {
+ "flag": false,
+ "values": {
+ "0": "MODE_UNKNOWN",
+ "1": "MODE_OFF",
+ "2": "MODE_HEAT",
+ "3": "MODE_COOL",
+ "4": "MODE_HEAT_COOL",
+ "5": "MODE_ECO"
+ }
+ },
+ "android.service.controls.templates.TemperatureControlTemplate.ModeFlag": {
+ "flag": true,
+ "values": {
+ "2": "FLAG_MODE_OFF",
+ "4": "FLAG_MODE_HEAT",
+ "8": "FLAG_MODE_COOL",
+ "16": "FLAG_MODE_HEAT_COOL",
+ "32": "FLAG_MODE_ECO"
+ }
+ },
+ "android.service.euicc.EuiccProfileInfo.PolicyRule": {
+ "flag": true,
+ "values": {
+ "1": "POLICY_RULE_DO_NOT_DISABLE",
+ "2": "POLICY_RULE_DO_NOT_DELETE",
+ "4": "POLICY_RULE_DELETE_AFTER_DISABLING"
+ }
+ },
+ "android.service.euicc.EuiccProfileInfo.ProfileClass": {
+ "flag": false,
+ "values": {
+ "0": "PROFILE_CLASS_TESTING",
+ "1": "PROFILE_CLASS_PROVISIONING",
+ "2": "PROFILE_CLASS_OPERATIONAL",
+ "-1": "PROFILE_CLASS_UNSET"
+ }
+ },
+ "android.service.euicc.EuiccProfileInfo.ProfileState": {
+ "flag": false,
+ "values": {
+ "0": "PROFILE_STATE_DISABLED",
+ "1": "PROFILE_STATE_ENABLED",
+ "-1": "PROFILE_STATE_UNSET"
+ }
+ },
+ "android.service.euicc.EuiccService.ResolvableError": {
+ "flag": true,
+ "values": {
+ "1": "RESOLVABLE_ERROR_CONFIRMATION_CODE",
+ "2": "RESOLVABLE_ERROR_POLICY_RULES"
+ }
+ },
+ "android.service.euicc.EuiccService.Result": {
+ "flag": false,
+ "values": {
+ "0": "RESULT_OK",
+ "-1": "RESULT_MUST_DEACTIVATE_SIM",
+ "-2": "RESULT_NEED_CONFIRMATION_CODE",
+ "1": "RESULT_FIRST_USER"
+ }
+ },
+ "android.service.media.MediaBrowserService.ResultFlags": {
+ "flag": true,
+ "values": {
+ "1": "RESULT_FLAG_OPTION_NOT_HANDLED",
+ "2": "RESULT_FLAG_ON_LOAD_ITEM_NOT_IMPLEMENTED"
+ }
+ },
+ "android.service.notification.Condition.State": {
+ "flag": false,
+ "values": {
+ "0": "STATE_FALSE",
+ "1": "STATE_TRUE",
+ "2": "STATE_UNKNOWN",
+ "3": "STATE_ERROR"
+ }
+ },
+ "android.service.notification.NotificationAssistantService.Source": {
+ "flag": false,
+ "values": {
+ "0": "SOURCE_FROM_APP",
+ "1": "SOURCE_FROM_ASSISTANT"
+ }
+ },
+ "android.service.notification.NotificationListenerService.ChannelOrGroupModificationTypes": {
+ "flag": false,
+ "values": {
+ "1": "NOTIFICATION_CHANNEL_OR_GROUP_ADDED",
+ "2": "NOTIFICATION_CHANNEL_OR_GROUP_UPDATED",
+ "3": "NOTIFICATION_CHANNEL_OR_GROUP_DELETED"
+ }
+ },
+ "android.service.notification.NotificationListenerService.NotificationCancelReason": {
+ "flag": false,
+ "values": {
+ "1": "REASON_CLICK",
+ "2": "REASON_CANCEL",
+ "3": "REASON_CANCEL_ALL",
+ "4": "REASON_ERROR",
+ "5": "REASON_PACKAGE_CHANGED",
+ "6": "REASON_USER_STOPPED",
+ "7": "REASON_PACKAGE_BANNED",
+ "8": "REASON_APP_CANCEL",
+ "9": "REASON_APP_CANCEL_ALL",
+ "10": "REASON_LISTENER_CANCEL",
+ "11": "REASON_LISTENER_CANCEL_ALL",
+ "12": "REASON_GROUP_SUMMARY_CANCELED",
+ "13": "REASON_GROUP_OPTIMIZATION",
+ "14": "REASON_PACKAGE_SUSPENDED",
+ "15": "REASON_PROFILE_TURNED_OFF",
+ "16": "REASON_UNAUTOBUNDLED",
+ "17": "REASON_CHANNEL_BANNED",
+ "18": "REASON_SNOOZED",
+ "19": "REASON_TIMEOUT"
+ }
+ },
+ "android.service.notification.NotificationListenerService.Ranking.RankingAdjustment": {
+ "flag": false,
+ "values": {
+ "1": "RANKING_PROMOTED",
+ "-1": "RANKING_DEMOTED",
+ "0": "RANKING_UNCHANGED"
+ }
+ },
+ "android.service.notification.NotificationListenerService.Ranking.UserSentiment": {
+ "flag": false,
+ "values": {
+ "-1": "USER_SENTIMENT_NEGATIVE",
+ "0": "USER_SENTIMENT_NEUTRAL",
+ "1": "USER_SENTIMENT_POSITIVE"
+ }
+ },
+ "android.service.notification.NotificationStats.DismissalSentiment": {
+ "flag": false,
+ "values": {
+ "-1000": "DISMISS_SENTIMENT_UNKNOWN",
+ "0": "DISMISS_SENTIMENT_NEGATIVE",
+ "1": "DISMISS_SENTIMENT_NEUTRAL",
+ "2": "DISMISS_SENTIMENT_POSITIVE"
+ }
+ },
+ "android.service.notification.NotificationStats.DismissalSurface": {
+ "flag": false,
+ "values": {
+ "-1": "DISMISSAL_NOT_DISMISSED",
+ "0": "DISMISSAL_OTHER",
+ "1": "DISMISSAL_PEEK",
+ "2": "DISMISSAL_AOD",
+ "3": "DISMISSAL_SHADE"
+ }
+ },
+ "android.service.notification.ZenPolicy.ConversationSenders": {
+ "flag": false,
+ "values": {
+ "0": "CONVERSATION_SENDERS_UNSET",
+ "1": "CONVERSATION_SENDERS_ANYONE",
+ "2": "CONVERSATION_SENDERS_IMPORTANT",
+ "3": "CONVERSATION_SENDERS_NONE"
+ }
+ },
+ "android.service.notification.ZenPolicy.PeopleType": {
+ "flag": false,
+ "values": {
+ "0": "PEOPLE_TYPE_UNSET",
+ "1": "PEOPLE_TYPE_ANYONE",
+ "2": "PEOPLE_TYPE_CONTACTS",
+ "3": "PEOPLE_TYPE_STARRED",
+ "4": "PEOPLE_TYPE_NONE"
+ }
+ },
+ "android.service.notification.ZenPolicy.PriorityCategory": {
+ "flag": false,
+ "values": {
+ "0": "PRIORITY_CATEGORY_REMINDERS",
+ "1": "PRIORITY_CATEGORY_EVENTS",
+ "2": "PRIORITY_CATEGORY_MESSAGES",
+ "3": "PRIORITY_CATEGORY_CALLS",
+ "4": "PRIORITY_CATEGORY_REPEAT_CALLERS",
+ "5": "PRIORITY_CATEGORY_ALARMS",
+ "6": "PRIORITY_CATEGORY_MEDIA",
+ "7": "PRIORITY_CATEGORY_SYSTEM",
+ "8": "PRIORITY_CATEGORY_CONVERSATIONS"
+ }
+ },
+ "android.service.notification.ZenPolicy.State": {
+ "flag": false,
+ "values": {
+ "0": "STATE_UNSET",
+ "1": "STATE_ALLOW",
+ "2": "STATE_DISALLOW"
+ }
+ },
+ "android.service.notification.ZenPolicy.VisualEffect": {
+ "flag": false,
+ "values": {
+ "0": "VISUAL_EFFECT_FULL_SCREEN_INTENT",
+ "1": "VISUAL_EFFECT_LIGHTS",
+ "2": "VISUAL_EFFECT_PEEK",
+ "3": "VISUAL_EFFECT_STATUS_BAR",
+ "4": "VISUAL_EFFECT_BADGE",
+ "5": "VISUAL_EFFECT_AMBIENT",
+ "6": "VISUAL_EFFECT_NOTIFICATION_LIST"
+ }
+ },
+ "android.service.persistentdata.PersistentDataBlockManager.FlashLockState": {
+ "flag": false,
+ "values": {
+ "-1": "FLASH_LOCK_UNKNOWN",
+ "1": "FLASH_LOCK_LOCKED",
+ "0": "FLASH_LOCK_UNLOCKED"
+ }
+ },
+ "android.service.quickaccesswallet.WalletServiceEvent.EventType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_NFC_PAYMENT_STARTED",
+ "2": "TYPE_WALLET_CARDS_UPDATED"
+ }
+ },
+ "android.service.settings.suggestions.Suggestion.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_HAS_BUTTON",
+ "2": "FLAG_ICON_TINTABLE"
+ }
+ },
+ "android.service.storage.ExternalStorageService.SessionFlag": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_SESSION_TYPE_FUSE",
+ "2": "FLAG_SESSION_ATTRIBUTE_INDEXABLE"
+ }
+ },
+ "android.service.textclassifier.TextClassifierService.ConnectionState": {
+ "flag": false,
+ "values": {
+ "0": "CONNECTED",
+ "1": "DISCONNECTED"
+ }
+ },
+ "android.service.trust.TrustAgentService.GrantTrustFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_GRANT_TRUST_INITIATED_BY_USER",
+ "2": "FLAG_GRANT_TRUST_DISMISS_KEYGUARD"
+ }
+ },
+ "android.service.trust.TrustAgentService.TokenState": {
+ "flag": true,
+ "values": {
+ "1": "TOKEN_STATE_ACTIVE",
+ "0": "TOKEN_STATE_INACTIVE"
+ }
+ },
+ "android.service.voice.AlwaysOnHotwordDetector.AudioCapabilities": {
+ "flag": true,
+ "values": {
+ "1": "AUDIO_CAPABILITY_ECHO_CANCELLATION",
+ "2": "AUDIO_CAPABILITY_NOISE_SUPPRESSION"
+ }
+ },
+ "android.service.voice.AlwaysOnHotwordDetector.ModelParams": {
+ "flag": true,
+ "values": {
+ "0": "MODEL_PARAM_THRESHOLD_FACTOR"
+ }
+ },
+ "android.service.voice.AlwaysOnHotwordDetector.RecognitionFlags": {
+ "flag": true,
+ "values": {
+ "0": "RECOGNITION_FLAG_NONE",
+ "1": "RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO",
+ "2": "RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS",
+ "4": "RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION",
+ "8": "RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION"
+ }
+ },
+ "android.service.voice.AlwaysOnHotwordDetector.RecognitionModes": {
+ "flag": true,
+ "values": {
+ "1": "RECOGNITION_MODE_VOICE_TRIGGER",
+ "2": "RECOGNITION_MODE_USER_IDENTIFICATION"
+ }
+ },
+ "android.speech.tts.SynthesisCallback.SupportedAudioFormat": {
+ "flag": false,
+ "values": {
+ "3": "ENCODING_PCM_8BIT",
+ "2": "ENCODING_PCM_16BIT",
+ "4": "ENCODING_PCM_FLOAT"
+ }
+ },
+ "android.speech.tts.TextToSpeech.Error": {
+ "flag": false,
+ "values": {
+ "-3": "ERROR_SYNTHESIS",
+ "-4": "ERROR_SERVICE",
+ "-5": "ERROR_OUTPUT",
+ "-6": "ERROR_NETWORK",
+ "-7": "ERROR_NETWORK_TIMEOUT",
+ "-8": "ERROR_INVALID_REQUEST",
+ "-9": "ERROR_NOT_INSTALLED_YET"
+ }
+ },
+ "android.telecom.Call.Callback.HandoverFailureErrors": {
+ "flag": false,
+ "values": {
+ "1": "HANDOVER_FAILURE_DEST_APP_REJECTED",
+ "2": "HANDOVER_FAILURE_NOT_SUPPORTED",
+ "3": "HANDOVER_FAILURE_USER_REJECTED",
+ "4": "HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL",
+ "5": "HANDOVER_FAILURE_UNKNOWN"
+ }
+ },
+ "android.telecom.Call.Details.CallDirection": {
+ "flag": false,
+ "values": {
+ "-1": "DIRECTION_UNKNOWN",
+ "0": "DIRECTION_INCOMING",
+ "1": "DIRECTION_OUTGOING"
+ }
+ },
+ "android.telecom.Call.RejectReason": {
+ "flag": false,
+ "values": {
+ "1": "REJECT_REASON_DECLINED",
+ "2": "REJECT_REASON_UNWANTED"
+ }
+ },
+ "android.telecom.Call.RttCall.RttAudioMode": {
+ "flag": false,
+ "values": {
+ "0": "RTT_MODE_INVALID",
+ "1": "RTT_MODE_FULL",
+ "2": "RTT_MODE_HCO",
+ "3": "RTT_MODE_VCO"
+ }
+ },
+ "android.telecom.CallAudioState.CallAudioRoute": {
+ "flag": true,
+ "values": {
+ "1": "ROUTE_EARPIECE",
+ "2": "ROUTE_BLUETOOTH",
+ "4": "ROUTE_WIRED_HEADSET",
+ "8": "ROUTE_SPEAKER"
+ }
+ },
+ "android.telecom.Connection.AudioCodec": {
+ "flag": false,
+ "values": {
+ "0": "AUDIO_CODEC_NONE",
+ "1": "AUDIO_CODEC_AMR",
+ "2": "AUDIO_CODEC_AMR_WB",
+ "3": "AUDIO_CODEC_QCELP13K",
+ "4": "AUDIO_CODEC_EVRC",
+ "5": "AUDIO_CODEC_EVRC_B",
+ "6": "AUDIO_CODEC_EVRC_WB",
+ "7": "AUDIO_CODEC_EVRC_NW",
+ "8": "AUDIO_CODEC_GSM_EFR",
+ "9": "AUDIO_CODEC_GSM_FR",
+ "10": "AUDIO_CODEC_GSM_HR",
+ "11": "AUDIO_CODEC_G711U",
+ "12": "AUDIO_CODEC_G723",
+ "13": "AUDIO_CODEC_G711A",
+ "14": "AUDIO_CODEC_G722",
+ "15": "AUDIO_CODEC_G711AB",
+ "16": "AUDIO_CODEC_G729",
+ "17": "AUDIO_CODEC_EVS_NB",
+ "19": "AUDIO_CODEC_EVS_SWB",
+ "20": "AUDIO_CODEC_EVS_FB"
+ }
+ },
+ "android.telecom.Connection.VerificationStatus": {
+ "flag": false,
+ "values": {
+ "0": "VERIFICATION_STATUS_NOT_VERIFIED",
+ "1": "VERIFICATION_STATUS_PASSED",
+ "2": "VERIFICATION_STATUS_FAILED"
+ }
+ },
+ "android.telecom.PhoneAccountSuggestion.SuggestionReason": {
+ "flag": false,
+ "values": {
+ "0": "REASON_NONE",
+ "1": "REASON_INTRA_CARRIER",
+ "2": "REASON_FREQUENT",
+ "3": "REASON_USER_SET",
+ "4": "REASON_OTHER"
+ }
+ },
+ "android.telecom.TelecomManager.Presentation": {
+ "flag": false,
+ "values": {
+ "1": "PRESENTATION_ALLOWED",
+ "2": "PRESENTATION_RESTRICTED",
+ "3": "PRESENTATION_UNKNOWN",
+ "4": "PRESENTATION_PAYPHONE"
+ }
+ },
+ "android.telecom.TelecomManager.TtyMode": {
+ "flag": false,
+ "values": {
+ "0": "TTY_MODE_OFF",
+ "1": "TTY_MODE_FULL",
+ "2": "TTY_MODE_HCO",
+ "3": "TTY_MODE_VCO"
+ }
+ },
+ "android.telecom.VideoProfile.VideoQuality": {
+ "flag": false,
+ "values": {
+ "0": "QUALITY_UNKNOWN",
+ "1": "QUALITY_HIGH",
+ "2": "QUALITY_MEDIUM",
+ "3": "QUALITY_LOW",
+ "4": "QUALITY_DEFAULT"
+ }
+ },
+ "android.telecom.VideoProfile.VideoState": {
+ "flag": true,
+ "values": {
+ "0": "STATE_AUDIO_ONLY",
+ "1": "STATE_TX_ENABLED",
+ "2": "STATE_RX_ENABLED",
+ "3": "STATE_BIDIRECTIONAL",
+ "4": "STATE_PAUSED"
+ }
+ },
+ "android.telephony.AccessNetworkConstants.NgranBands.FrequencyRangeGroup": {
+ "flag": false,
+ "values": {
+ "0": "FREQUENCY_RANGE_GROUP_UNKNOWN",
+ "1": "FREQUENCY_RANGE_GROUP_1",
+ "2": "FREQUENCY_RANGE_GROUP_2"
+ }
+ },
+ "android.telephony.AccessNetworkConstants.NgranBands.NgranBand": {
+ "flag": false,
+ "values": {
+ "1": "BAND_1",
+ "2": "BAND_2",
+ "3": "BAND_3",
+ "5": "BAND_5",
+ "7": "BAND_7",
+ "8": "BAND_8",
+ "12": "BAND_12",
+ "14": "BAND_14",
+ "18": "BAND_18",
+ "20": "BAND_20",
+ "25": "BAND_25",
+ "28": "BAND_28",
+ "29": "BAND_29",
+ "30": "BAND_30",
+ "34": "BAND_34",
+ "38": "BAND_38",
+ "39": "BAND_39",
+ "40": "BAND_40",
+ "41": "BAND_41",
+ "48": "BAND_48",
+ "50": "BAND_50",
+ "51": "BAND_51",
+ "65": "BAND_65",
+ "66": "BAND_66",
+ "70": "BAND_70",
+ "71": "BAND_71",
+ "74": "BAND_74",
+ "75": "BAND_75",
+ "76": "BAND_76",
+ "77": "BAND_77",
+ "78": "BAND_78",
+ "79": "BAND_79",
+ "80": "BAND_80",
+ "81": "BAND_81",
+ "82": "BAND_82",
+ "83": "BAND_83",
+ "84": "BAND_84",
+ "86": "BAND_86",
+ "89": "BAND_89",
+ "90": "BAND_90",
+ "91": "BAND_91",
+ "92": "BAND_92",
+ "93": "BAND_93",
+ "94": "BAND_94",
+ "95": "BAND_95",
+ "257": "BAND_257",
+ "258": "BAND_258",
+ "260": "BAND_260",
+ "261": "BAND_261"
+ }
+ },
+ "android.telephony.AccessNetworkConstants.RadioAccessNetworkType": {
+ "flag": false,
+ "values": {
+ "0": "UNKNOWN",
+ "1": "GERAN",
+ "2": "UTRAN",
+ "3": "EUTRAN",
+ "4": "CDMA2000",
+ "5": "IWLAN",
+ "6": "NGRAN"
+ }
+ },
+ "android.telephony.AccessNetworkConstants.TransportType": {
+ "flag": false,
+ "values": {
+ "-1": "TRANSPORT_TYPE_INVALID",
+ "1": "TRANSPORT_TYPE_WWAN",
+ "2": "TRANSPORT_TYPE_WLAN"
+ }
+ },
+ "android.telephony.Annotation.ApnType": {
+ "flag": true,
+ "values": {
+ "17": "TYPE_DEFAULT",
+ "2": "TYPE_MMS",
+ "4": "TYPE_SUPL",
+ "8": "TYPE_DUN",
+ "16": "TYPE_HIPRI",
+ "32": "TYPE_FOTA",
+ "64": "TYPE_IMS",
+ "128": "TYPE_CBS",
+ "256": "TYPE_IA",
+ "512": "TYPE_EMERGENCY",
+ "1024": "TYPE_MCX",
+ "2048": "TYPE_XCAP"
+ }
+ },
+ "android.telephony.Annotation.CallState": {
+ "flag": false,
+ "values": {
+ "0": "CALL_STATE_IDLE",
+ "1": "CALL_STATE_RINGING",
+ "2": "CALL_STATE_OFFHOOK"
+ }
+ },
+ "android.telephony.Annotation.CarrierPrivilegeStatus": {
+ "flag": false,
+ "values": {
+ "1": "CARRIER_PRIVILEGE_STATUS_HAS_ACCESS",
+ "0": "CARRIER_PRIVILEGE_STATUS_NO_ACCESS",
+ "-1": "CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED",
+ "-2": "CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES"
+ }
+ },
+ "android.telephony.Annotation.DataActivityType": {
+ "flag": false,
+ "values": {
+ "0": "DATA_ACTIVITY_NONE",
+ "1": "DATA_ACTIVITY_IN",
+ "2": "DATA_ACTIVITY_OUT",
+ "3": "DATA_ACTIVITY_INOUT",
+ "4": "DATA_ACTIVITY_DORMANT"
+ }
+ },
+ "android.telephony.Annotation.DataFailureCause": {
+ "flag": false,
+ "values": {
+ "0": "NONE",
+ "8": "OPERATOR_BARRED",
+ "14": "NAS_SIGNALLING",
+ "25": "LLC_SNDCP",
+ "26": "INSUFFICIENT_RESOURCES",
+ "27": "MISSING_UNKNOWN_APN",
+ "28": "UNKNOWN_PDP_ADDRESS_TYPE",
+ "29": "USER_AUTHENTICATION",
+ "30": "ACTIVATION_REJECT_GGSN",
+ "31": "ACTIVATION_REJECT_UNSPECIFIED",
+ "32": "SERVICE_OPTION_NOT_SUPPORTED",
+ "33": "SERVICE_OPTION_NOT_SUBSCRIBED",
+ "34": "SERVICE_OPTION_OUT_OF_ORDER",
+ "35": "NSAPI_IN_USE",
+ "36": "REGULAR_DEACTIVATION",
+ "37": "QOS_NOT_ACCEPTED",
+ "38": "NETWORK_FAILURE",
+ "39": "UMTS_REACTIVATION_REQ",
+ "40": "FEATURE_NOT_SUPP",
+ "41": "TFT_SEMANTIC_ERROR",
+ "42": "TFT_SYTAX_ERROR",
+ "43": "UNKNOWN_PDP_CONTEXT",
+ "44": "FILTER_SEMANTIC_ERROR",
+ "45": "FILTER_SYTAX_ERROR",
+ "46": "PDP_WITHOUT_ACTIVE_TFT",
+ "48": "ACTIVATION_REJECTED_BCM_VIOLATION",
+ "50": "ONLY_IPV4_ALLOWED",
+ "51": "ONLY_IPV6_ALLOWED",
+ "52": "ONLY_SINGLE_BEARER_ALLOWED",
+ "53": "ESM_INFO_NOT_RECEIVED",
+ "54": "PDN_CONN_DOES_NOT_EXIST",
+ "55": "MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED",
+ "56": "COLLISION_WITH_NETWORK_INITIATED_REQUEST",
+ "57": "ONLY_IPV4V6_ALLOWED",
+ "58": "ONLY_NON_IP_ALLOWED",
+ "59": "UNSUPPORTED_QCI_VALUE",
+ "60": "BEARER_HANDLING_NOT_SUPPORTED",
+ "65": "ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED",
+ "66": "UNSUPPORTED_APN_IN_CURRENT_PLMN",
+ "81": "INVALID_TRANSACTION_ID",
+ "95": "MESSAGE_INCORRECT_SEMANTIC",
+ "96": "INVALID_MANDATORY_INFO",
+ "97": "MESSAGE_TYPE_UNSUPPORTED",
+ "98": "MSG_TYPE_NONCOMPATIBLE_STATE",
+ "99": "UNKNOWN_INFO_ELEMENT",
+ "100": "CONDITIONAL_IE_ERROR",
+ "101": "MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE",
+ "111": "PROTOCOL_ERRORS",
+ "112": "APN_TYPE_CONFLICT",
+ "113": "INVALID_PCSCF_ADDR",
+ "114": "INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN",
+ "115": "EMM_ACCESS_BARRED",
+ "116": "EMERGENCY_IFACE_ONLY",
+ "117": "IFACE_MISMATCH",
+ "118": "COMPANION_IFACE_IN_USE",
+ "119": "IP_ADDRESS_MISMATCH",
+ "120": "IFACE_AND_POL_FAMILY_MISMATCH",
+ "121": "EMM_ACCESS_BARRED_INFINITE_RETRY",
+ "122": "AUTH_FAILURE_ON_EMERGENCY_CALL",
+ "123": "INVALID_DNS_ADDR",
+ "124": "INVALID_PCSCF_OR_DNS_ADDRESS",
+ "127": "CALL_PREEMPT_BY_EMERGENCY_APN",
+ "128": "UE_INITIATED_DETACH_OR_DISCONNECT",
+ "2000": "MIP_FA_REASON_UNSPECIFIED",
+ "2001": "MIP_FA_ADMIN_PROHIBITED",
+ "2002": "MIP_FA_INSUFFICIENT_RESOURCES",
+ "2003": "MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE",
+ "2004": "MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE",
+ "2005": "MIP_FA_REQUESTED_LIFETIME_TOO_LONG",
+ "2006": "MIP_FA_MALFORMED_REQUEST",
+ "2007": "MIP_FA_MALFORMED_REPLY",
+ "2008": "MIP_FA_ENCAPSULATION_UNAVAILABLE",
+ "2009": "MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE",
+ "2010": "MIP_FA_REVERSE_TUNNEL_UNAVAILABLE",
+ "2011": "MIP_FA_REVERSE_TUNNEL_IS_MANDATORY",
+ "2012": "MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED",
+ "2013": "MIP_FA_MISSING_NAI",
+ "2014": "MIP_FA_MISSING_HOME_AGENT",
+ "2015": "MIP_FA_MISSING_HOME_ADDRESS",
+ "2016": "MIP_FA_UNKNOWN_CHALLENGE",
+ "2017": "MIP_FA_MISSING_CHALLENGE",
+ "2018": "MIP_FA_STALE_CHALLENGE",
+ "2019": "MIP_HA_REASON_UNSPECIFIED",
+ "2020": "MIP_HA_ADMIN_PROHIBITED",
+ "2021": "MIP_HA_INSUFFICIENT_RESOURCES",
+ "2022": "MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE",
+ "2023": "MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE",
+ "2024": "MIP_HA_REGISTRATION_ID_MISMATCH",
+ "2025": "MIP_HA_MALFORMED_REQUEST",
+ "2026": "MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS",
+ "2027": "MIP_HA_REVERSE_TUNNEL_UNAVAILABLE",
+ "2028": "MIP_HA_REVERSE_TUNNEL_IS_MANDATORY",
+ "2029": "MIP_HA_ENCAPSULATION_UNAVAILABLE",
+ "2030": "CLOSE_IN_PROGRESS",
+ "2031": "NETWORK_INITIATED_TERMINATION",
+ "2032": "MODEM_APP_PREEMPTED",
+ "2033": "PDN_IPV4_CALL_DISALLOWED",
+ "2034": "PDN_IPV4_CALL_THROTTLED",
+ "2035": "PDN_IPV6_CALL_DISALLOWED",
+ "2036": "PDN_IPV6_CALL_THROTTLED",
+ "2037": "MODEM_RESTART",
+ "2038": "PDP_PPP_NOT_SUPPORTED",
+ "2039": "UNPREFERRED_RAT",
+ "2040": "PHYSICAL_LINK_CLOSE_IN_PROGRESS",
+ "2041": "APN_PENDING_HANDOVER",
+ "2042": "PROFILE_BEARER_INCOMPATIBLE",
+ "2043": "SIM_CARD_CHANGED",
+ "2044": "LOW_POWER_MODE_OR_POWERING_DOWN",
+ "2045": "APN_DISABLED",
+ "2046": "MAX_PPP_INACTIVITY_TIMER_EXPIRED",
+ "2047": "IPV6_ADDRESS_TRANSFER_FAILED",
+ "2048": "TRAT_SWAP_FAILED",
+ "2049": "EHRPD_TO_HRPD_FALLBACK",
+ "2050": "MIP_CONFIG_FAILURE",
+ "2051": "PDN_INACTIVITY_TIMER_EXPIRED",
+ "2052": "MAX_IPV4_CONNECTIONS",
+ "2053": "MAX_IPV6_CONNECTIONS",
+ "2054": "APN_MISMATCH",
+ "2055": "IP_VERSION_MISMATCH",
+ "2056": "DUN_CALL_DISALLOWED",
+ "2057": "INTERNAL_EPC_NONEPC_TRANSITION",
+ "2058": "INTERFACE_IN_USE",
+ "2059": "APN_DISALLOWED_ON_ROAMING",
+ "2060": "APN_PARAMETERS_CHANGED",
+ "2061": "NULL_APN_DISALLOWED",
+ "2062": "THERMAL_MITIGATION",
+ "2063": "DATA_SETTINGS_DISABLED",
+ "2064": "DATA_ROAMING_SETTINGS_DISABLED",
+ "2065": "DDS_SWITCHED",
+ "2066": "FORBIDDEN_APN_NAME",
+ "2067": "DDS_SWITCH_IN_PROGRESS",
+ "2068": "CALL_DISALLOWED_IN_ROAMING",
+ "2069": "NON_IP_NOT_SUPPORTED",
+ "2070": "PDN_NON_IP_CALL_THROTTLED",
+ "2071": "PDN_NON_IP_CALL_DISALLOWED",
+ "2072": "CDMA_LOCK",
+ "2073": "CDMA_INTERCEPT",
+ "2074": "CDMA_REORDER",
+ "2075": "CDMA_RELEASE_DUE_TO_SO_REJECTION",
+ "2076": "CDMA_INCOMING_CALL",
+ "2077": "CDMA_ALERT_STOP",
+ "2078": "CHANNEL_ACQUISITION_FAILURE",
+ "2079": "MAX_ACCESS_PROBE",
+ "2080": "CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION",
+ "2081": "NO_RESPONSE_FROM_BASE_STATION",
+ "2082": "REJECTED_BY_BASE_STATION",
+ "2083": "CONCURRENT_SERVICES_INCOMPATIBLE",
+ "2084": "NO_CDMA_SERVICE",
+ "2085": "RUIM_NOT_PRESENT",
+ "2086": "CDMA_RETRY_ORDER",
+ "2087": "ACCESS_BLOCK",
+ "2088": "ACCESS_BLOCK_ALL",
+ "2089": "IS707B_MAX_ACCESS_PROBES",
+ "2090": "THERMAL_EMERGENCY",
+ "2091": "CONCURRENT_SERVICES_NOT_ALLOWED",
+ "2092": "INCOMING_CALL_REJECTED",
+ "2093": "NO_SERVICE_ON_GATEWAY",
+ "2094": "NO_GPRS_CONTEXT",
+ "2095": "ILLEGAL_MS",
+ "2096": "ILLEGAL_ME",
+ "2097": "GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED",
+ "2098": "GPRS_SERVICES_NOT_ALLOWED",
+ "2099": "MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK",
+ "2100": "IMPLICITLY_DETACHED",
+ "2101": "PLMN_NOT_ALLOWED",
+ "2102": "LOCATION_AREA_NOT_ALLOWED",
+ "2103": "GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN",
+ "2104": "PDP_DUPLICATE",
+ "2105": "UE_RAT_CHANGE",
+ "2106": "CONGESTION",
+ "2107": "NO_PDP_CONTEXT_ACTIVATED",
+ "2108": "ACCESS_CLASS_DSAC_REJECTION",
+ "2109": "PDP_ACTIVATE_MAX_RETRY_FAILED",
+ "2110": "RADIO_ACCESS_BEARER_FAILURE",
+ "2111": "ESM_UNKNOWN_EPS_BEARER_CONTEXT",
+ "2112": "DRB_RELEASED_BY_RRC",
+ "2113": "CONNECTION_RELEASED",
+ "2114": "EMM_DETACHED",
+ "2115": "EMM_ATTACH_FAILED",
+ "2116": "EMM_ATTACH_STARTED",
+ "2117": "LTE_NAS_SERVICE_REQUEST_FAILED",
+ "2118": "DUPLICATE_BEARER_ID",
+ "2119": "ESM_COLLISION_SCENARIOS",
+ "2120": "ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK",
+ "2121": "ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER",
+ "2122": "ESM_BAD_OTA_MESSAGE",
+ "2123": "ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL",
+ "2124": "ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT",
+ "2125": "DS_EXPLICIT_DEACTIVATION",
+ "2126": "ESM_LOCAL_CAUSE_NONE",
+ "2127": "LTE_THROTTLING_NOT_REQUIRED",
+ "2128": "ACCESS_CONTROL_LIST_CHECK_FAILURE",
+ "2129": "SERVICE_NOT_ALLOWED_ON_PLMN",
+ "2130": "EMM_T3417_EXPIRED",
+ "2131": "EMM_T3417_EXT_EXPIRED",
+ "2132": "RRC_UPLINK_DATA_TRANSMISSION_FAILURE",
+ "2133": "RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER",
+ "2134": "RRC_UPLINK_CONNECTION_RELEASE",
+ "2135": "RRC_UPLINK_RADIO_LINK_FAILURE",
+ "2136": "RRC_UPLINK_ERROR_REQUEST_FROM_NAS",
+ "2137": "RRC_CONNECTION_ACCESS_STRATUM_FAILURE",
+ "2138": "RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS",
+ "2139": "RRC_CONNECTION_ACCESS_BARRED",
+ "2140": "RRC_CONNECTION_CELL_RESELECTION",
+ "2141": "RRC_CONNECTION_CONFIG_FAILURE",
+ "2142": "RRC_CONNECTION_TIMER_EXPIRED",
+ "2143": "RRC_CONNECTION_LINK_FAILURE",
+ "2144": "RRC_CONNECTION_CELL_NOT_CAMPED",
+ "2145": "RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE",
+ "2146": "RRC_CONNECTION_REJECT_BY_NETWORK",
+ "2147": "RRC_CONNECTION_NORMAL_RELEASE",
+ "2148": "RRC_CONNECTION_RADIO_LINK_FAILURE",
+ "2149": "RRC_CONNECTION_REESTABLISHMENT_FAILURE",
+ "2150": "RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER",
+ "2151": "RRC_CONNECTION_ABORT_REQUEST",
+ "2152": "RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR",
+ "2153": "NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH",
+ "2154": "NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH",
+ "2155": "ESM_PROCEDURE_TIME_OUT",
+ "2156": "INVALID_CONNECTION_ID",
+ "2157": "MAXIMIUM_NSAPIS_EXCEEDED",
+ "2158": "INVALID_PRIMARY_NSAPI",
+ "2159": "CANNOT_ENCODE_OTA_MESSAGE",
+ "2160": "RADIO_ACCESS_BEARER_SETUP_FAILURE",
+ "2161": "PDP_ESTABLISH_TIMEOUT_EXPIRED",
+ "2162": "PDP_MODIFY_TIMEOUT_EXPIRED",
+ "2163": "PDP_INACTIVE_TIMEOUT_EXPIRED",
+ "2164": "PDP_LOWERLAYER_ERROR",
+ "2165": "PDP_MODIFY_COLLISION",
+ "2166": "MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED",
+ "2167": "NAS_REQUEST_REJECTED_BY_NETWORK",
+ "2168": "RRC_CONNECTION_INVALID_REQUEST",
+ "2169": "RRC_CONNECTION_TRACKING_AREA_ID_CHANGED",
+ "2170": "RRC_CONNECTION_RF_UNAVAILABLE",
+ "2171": "RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE",
+ "2172": "RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE",
+ "2173": "RRC_CONNECTION_ABORTED_AFTER_HANDOVER",
+ "2174": "RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE",
+ "2175": "RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE",
+ "2176": "IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER",
+ "2177": "IMEI_NOT_ACCEPTED",
+ "2178": "EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED",
+ "2179": "EPS_SERVICES_NOT_ALLOWED_IN_PLMN",
+ "2180": "MSC_TEMPORARILY_NOT_REACHABLE",
+ "2181": "CS_DOMAIN_NOT_AVAILABLE",
+ "2182": "ESM_FAILURE",
+ "2183": "MAC_FAILURE",
+ "2184": "SYNCHRONIZATION_FAILURE",
+ "2185": "UE_SECURITY_CAPABILITIES_MISMATCH",
+ "2186": "SECURITY_MODE_REJECTED",
+ "2187": "UNACCEPTABLE_NON_EPS_AUTHENTICATION",
+ "2188": "CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED",
+ "2189": "NO_EPS_BEARER_CONTEXT_ACTIVATED",
+ "2190": "INVALID_EMM_STATE",
+ "2191": "NAS_LAYER_FAILURE",
+ "2192": "MULTIPLE_PDP_CALL_NOT_ALLOWED",
+ "2193": "EMBMS_NOT_ENABLED",
+ "2194": "IRAT_HANDOVER_FAILED",
+ "2195": "EMBMS_REGULAR_DEACTIVATION",
+ "2196": "TEST_LOOPBACK_REGULAR_DEACTIVATION",
+ "2197": "LOWER_LAYER_REGISTRATION_FAILURE",
+ "2198": "DATA_PLAN_EXPIRED",
+ "2199": "UMTS_HANDOVER_TO_IWLAN",
+ "2200": "EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY",
+ "2201": "EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE",
+ "2202": "EVDO_HDR_CHANGED",
+ "2203": "EVDO_HDR_EXITED",
+ "2204": "EVDO_HDR_NO_SESSION",
+ "2205": "EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL",
+ "2206": "EVDO_HDR_CONNECTION_SETUP_TIMEOUT",
+ "2207": "FAILED_TO_ACQUIRE_COLOCATED_HDR",
+ "2208": "OTASP_COMMIT_IN_PROGRESS",
+ "2209": "NO_HYBRID_HDR_SERVICE",
+ "2210": "HDR_NO_LOCK_GRANTED",
+ "2211": "DBM_OR_SMS_IN_PROGRESS",
+ "2212": "HDR_FADE",
+ "2213": "HDR_ACCESS_FAILURE",
+ "2214": "UNSUPPORTED_1X_PREV",
+ "2215": "LOCAL_END",
+ "2216": "NO_SERVICE",
+ "2217": "FADE",
+ "2218": "NORMAL_RELEASE",
+ "2219": "ACCESS_ATTEMPT_ALREADY_IN_PROGRESS",
+ "2220": "REDIRECTION_OR_HANDOFF_IN_PROGRESS",
+ "2221": "EMERGENCY_MODE",
+ "2222": "PHONE_IN_USE",
+ "2223": "INVALID_MODE",
+ "2224": "INVALID_SIM_STATE",
+ "2225": "NO_COLLOCATED_HDR",
+ "2226": "UE_IS_ENTERING_POWERSAVE_MODE",
+ "2227": "DUAL_SWITCH",
+ "2228": "PPP_TIMEOUT",
+ "2229": "PPP_AUTH_FAILURE",
+ "2230": "PPP_OPTION_MISMATCH",
+ "2231": "PPP_PAP_FAILURE",
+ "2232": "PPP_CHAP_FAILURE",
+ "2233": "PPP_CLOSE_IN_PROGRESS",
+ "2234": "LIMITED_TO_IPV4",
+ "2235": "LIMITED_TO_IPV6",
+ "2236": "VSNCP_TIMEOUT",
+ "2237": "VSNCP_GEN_ERROR",
+ "2238": "VSNCP_APN_UNAUTHORIZED",
+ "2239": "VSNCP_PDN_LIMIT_EXCEEDED",
+ "2240": "VSNCP_NO_PDN_GATEWAY_ADDRESS",
+ "2241": "VSNCP_PDN_GATEWAY_UNREACHABLE",
+ "2242": "VSNCP_PDN_GATEWAY_REJECT",
+ "2243": "VSNCP_INSUFFICIENT_PARAMETERS",
+ "2244": "VSNCP_RESOURCE_UNAVAILABLE",
+ "2245": "VSNCP_ADMINISTRATIVELY_PROHIBITED",
+ "2246": "VSNCP_PDN_ID_IN_USE",
+ "2247": "VSNCP_SUBSCRIBER_LIMITATION",
+ "2248": "VSNCP_PDN_EXISTS_FOR_THIS_APN",
+ "2249": "VSNCP_RECONNECT_NOT_ALLOWED",
+ "2250": "IPV6_PREFIX_UNAVAILABLE",
+ "2251": "HANDOFF_PREFERENCE_CHANGED",
+ "4097": "OEM_DCFAILCAUSE_1",
+ "4098": "OEM_DCFAILCAUSE_2",
+ "4099": "OEM_DCFAILCAUSE_3",
+ "4100": "OEM_DCFAILCAUSE_4",
+ "4101": "OEM_DCFAILCAUSE_5",
+ "4102": "OEM_DCFAILCAUSE_6",
+ "4103": "OEM_DCFAILCAUSE_7",
+ "4104": "OEM_DCFAILCAUSE_8",
+ "4105": "OEM_DCFAILCAUSE_9",
+ "4106": "OEM_DCFAILCAUSE_10",
+ "4107": "OEM_DCFAILCAUSE_11",
+ "4108": "OEM_DCFAILCAUSE_12",
+ "4109": "OEM_DCFAILCAUSE_13",
+ "4110": "OEM_DCFAILCAUSE_14",
+ "4111": "OEM_DCFAILCAUSE_15",
+ "-1": "REGISTRATION_FAIL",
+ "-2": "GPRS_REGISTRATION_FAIL",
+ "-3": "SIGNAL_LOST",
+ "-4": "PREF_RADIO_TECH_CHANGED",
+ "-5": "RADIO_POWER_OFF",
+ "-6": "TETHERED_CALL_ACTIVE",
+ "65535": "ERROR_UNSPECIFIED",
+ "65536": "UNKNOWN",
+ "65537": "RADIO_NOT_AVAILABLE",
+ "65538": "UNACCEPTABLE_NETWORK_PARAMETER",
+ "65540": "LOST_CONNECTION"
+ }
+ },
+ "android.telephony.Annotation.DataState": {
+ "flag": false,
+ "values": {
+ "-1": "DATA_UNKNOWN",
+ "0": "DATA_DISCONNECTED",
+ "1": "DATA_CONNECTING",
+ "2": "DATA_CONNECTED",
+ "3": "DATA_SUSPENDED"
+ }
+ },
+ "android.telephony.Annotation.DisconnectCauses": {
+ "flag": false,
+ "values": {
+ "-1": "NOT_VALID",
+ "0": "NOT_DISCONNECTED",
+ "1": "INCOMING_MISSED",
+ "2": "NORMAL",
+ "3": "LOCAL",
+ "4": "BUSY",
+ "5": "CONGESTION",
+ "6": "MMI",
+ "7": "INVALID_NUMBER",
+ "8": "NUMBER_UNREACHABLE",
+ "9": "SERVER_UNREACHABLE",
+ "10": "INVALID_CREDENTIALS",
+ "11": "OUT_OF_NETWORK",
+ "12": "SERVER_ERROR",
+ "13": "TIMED_OUT",
+ "14": "LOST_SIGNAL",
+ "15": "LIMIT_EXCEEDED",
+ "16": "INCOMING_REJECTED",
+ "17": "POWER_OFF",
+ "18": "OUT_OF_SERVICE",
+ "19": "ICC_ERROR",
+ "20": "CALL_BARRED",
+ "21": "FDN_BLOCKED",
+ "22": "CS_RESTRICTED",
+ "23": "CS_RESTRICTED_NORMAL",
+ "24": "CS_RESTRICTED_EMERGENCY",
+ "25": "UNOBTAINABLE_NUMBER",
+ "26": "CDMA_LOCKED_UNTIL_POWER_CYCLE",
+ "27": "CDMA_DROP",
+ "28": "CDMA_INTERCEPT",
+ "29": "CDMA_REORDER",
+ "30": "CDMA_SO_REJECT",
+ "31": "CDMA_RETRY_ORDER",
+ "32": "CDMA_ACCESS_FAILURE",
+ "33": "CDMA_PREEMPTED",
+ "34": "CDMA_NOT_EMERGENCY",
+ "35": "CDMA_ACCESS_BLOCKED",
+ "36": "ERROR_UNSPECIFIED"
+ }
+ },
+ "android.telephony.Annotation.ImsAudioCodec": {
+ "flag": false,
+ "values": {
+ "0": "AUDIO_CODEC_NONE",
+ "1": "AUDIO_CODEC_AMR",
+ "2": "AUDIO_CODEC_AMR_WB",
+ "3": "AUDIO_CODEC_QCELP13K",
+ "4": "AUDIO_CODEC_EVRC",
+ "5": "AUDIO_CODEC_EVRC_B",
+ "6": "AUDIO_CODEC_EVRC_WB",
+ "7": "AUDIO_CODEC_EVRC_NW",
+ "8": "AUDIO_CODEC_GSM_EFR",
+ "9": "AUDIO_CODEC_GSM_FR",
+ "11": "AUDIO_CODEC_G711U",
+ "12": "AUDIO_CODEC_G723",
+ "13": "AUDIO_CODEC_G711A",
+ "14": "AUDIO_CODEC_G722",
+ "15": "AUDIO_CODEC_G711AB",
+ "16": "AUDIO_CODEC_G729",
+ "17": "AUDIO_CODEC_EVS_NB",
+ "18": "AUDIO_CODEC_EVS_WB",
+ "19": "AUDIO_CODEC_EVS_SWB",
+ "20": "AUDIO_CODEC_EVS_FB"
+ }
+ },
+ "android.telephony.Annotation.NetworkType": {
+ "flag": false,
+ "values": {
+ "0": "NETWORK_TYPE_UNKNOWN",
+ "1": "NETWORK_TYPE_GPRS",
+ "2": "NETWORK_TYPE_EDGE",
+ "3": "NETWORK_TYPE_UMTS",
+ "4": "NETWORK_TYPE_CDMA",
+ "5": "NETWORK_TYPE_EVDO_0",
+ "6": "NETWORK_TYPE_EVDO_A",
+ "7": "NETWORK_TYPE_1xRTT",
+ "8": "NETWORK_TYPE_HSDPA",
+ "9": "NETWORK_TYPE_HSUPA",
+ "10": "NETWORK_TYPE_HSPA",
+ "11": "NETWORK_TYPE_IDEN",
+ "12": "NETWORK_TYPE_EVDO_B",
+ "13": "NETWORK_TYPE_LTE",
+ "14": "NETWORK_TYPE_EHRPD",
+ "15": "NETWORK_TYPE_HSPAP",
+ "16": "NETWORK_TYPE_GSM",
+ "17": "NETWORK_TYPE_TD_SCDMA",
+ "18": "NETWORK_TYPE_IWLAN",
+ "20": "NETWORK_TYPE_NR"
+ }
+ },
+ "android.telephony.Annotation.OverrideNetworkType": {
+ "flag": false,
+ "values": {
+ "0": "OVERRIDE_NETWORK_TYPE_NONE",
+ "1": "OVERRIDE_NETWORK_TYPE_LTE_CA",
+ "2": "OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO",
+ "3": "OVERRIDE_NETWORK_TYPE_NR_NSA",
+ "4": "OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE"
+ }
+ },
+ "android.telephony.Annotation.PreciseCallStates": {
+ "flag": false,
+ "values": {
+ "-1": "PRECISE_CALL_STATE_NOT_VALID",
+ "0": "PRECISE_CALL_STATE_IDLE",
+ "1": "PRECISE_CALL_STATE_ACTIVE",
+ "2": "PRECISE_CALL_STATE_HOLDING",
+ "3": "PRECISE_CALL_STATE_DIALING",
+ "4": "PRECISE_CALL_STATE_ALERTING",
+ "5": "PRECISE_CALL_STATE_INCOMING",
+ "6": "PRECISE_CALL_STATE_WAITING",
+ "7": "PRECISE_CALL_STATE_DISCONNECTED",
+ "8": "PRECISE_CALL_STATE_DISCONNECTING"
+ }
+ },
+ "android.telephony.Annotation.PreciseDisconnectCauses": {
+ "flag": false,
+ "values": {
+ "-1": "NOT_VALID",
+ "0": "NO_DISCONNECT_CAUSE_AVAILABLE",
+ "1": "UNOBTAINABLE_NUMBER",
+ "16": "NORMAL",
+ "17": "BUSY",
+ "22": "NUMBER_CHANGED",
+ "30": "STATUS_ENQUIRY",
+ "31": "NORMAL_UNSPECIFIED",
+ "34": "NO_CIRCUIT_AVAIL",
+ "41": "TEMPORARY_FAILURE",
+ "42": "SWITCHING_CONGESTION",
+ "44": "CHANNEL_NOT_AVAIL",
+ "49": "QOS_NOT_AVAIL",
+ "58": "BEARER_NOT_AVAIL",
+ "68": "ACM_LIMIT_EXCEEDED",
+ "240": "CALL_BARRED",
+ "241": "FDN_BLOCKED",
+ "242": "IMSI_UNKNOWN_IN_VLR",
+ "243": "IMEI_NOT_ACCEPTED",
+ "1000": "CDMA_LOCKED_UNTIL_POWER_CYCLE",
+ "1001": "CDMA_DROP",
+ "1002": "CDMA_INTERCEPT",
+ "1003": "CDMA_REORDER",
+ "1004": "CDMA_SO_REJECT",
+ "1005": "CDMA_RETRY_ORDER",
+ "1006": "CDMA_ACCESS_FAILURE",
+ "1007": "CDMA_PREEMPTED",
+ "1008": "CDMA_NOT_EMERGENCY",
+ "1009": "CDMA_ACCESS_BLOCKED",
+ "65535": "ERROR_UNSPECIFIED"
+ }
+ },
+ "android.telephony.Annotation.RadioPowerState": {
+ "flag": false,
+ "values": {
+ "0": "RADIO_POWER_OFF",
+ "1": "RADIO_POWER_ON",
+ "2": "RADIO_POWER_UNAVAILABLE"
+ }
+ },
+ "android.telephony.Annotation.SimActivationState": {
+ "flag": false,
+ "values": {
+ "0": "SIM_ACTIVATION_STATE_UNKNOWN",
+ "1": "SIM_ACTIVATION_STATE_ACTIVATING",
+ "2": "SIM_ACTIVATION_STATE_ACTIVATED",
+ "3": "SIM_ACTIVATION_STATE_DEACTIVATED",
+ "4": "SIM_ACTIVATION_STATE_RESTRICTED"
+ }
+ },
+ "android.telephony.Annotation.SrvccState": {
+ "flag": false,
+ "values": {
+ "-1": "SRVCC_STATE_HANDOVER_NONE",
+ "0": "SRVCC_STATE_HANDOVER_STARTED",
+ "1": "SRVCC_STATE_HANDOVER_COMPLETED",
+ "2": "SRVCC_STATE_HANDOVER_FAILED",
+ "3": "SRVCC_STATE_HANDOVER_CANCELED"
+ }
+ },
+ "android.telephony.Annotation.ThermalMitigationResult": {
+ "flag": false,
+ "values": {
+ "0": "THERMAL_MITIGATION_RESULT_SUCCESS",
+ "1": "THERMAL_MITIGATION_RESULT_MODEM_ERROR",
+ "3": "THERMAL_MITIGATION_RESULT_INVALID_STATE",
+ "4": "THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR"
+ }
+ },
+ "android.telephony.Annotation.UiccAppType": {
+ "flag": false,
+ "values": {
+ "1": "APPTYPE_SIM",
+ "2": "APPTYPE_USIM",
+ "3": "APPTYPE_RUIM",
+ "4": "APPTYPE_CSIM",
+ "5": "APPTYPE_ISIM"
+ }
+ },
+ "android.telephony.BarringInfo.BarringServiceInfo.BarringType": {
+ "flag": false,
+ "values": {
+ "0": "BARRING_TYPE_NONE",
+ "2": "BARRING_TYPE_UNCONDITIONAL",
+ "1": "BARRING_TYPE_CONDITIONAL",
+ "-1": "BARRING_TYPE_UNKNOWN"
+ }
+ },
+ "android.telephony.BarringInfo.BarringServiceType": {
+ "flag": false,
+ "values": {
+ "0": "BARRING_SERVICE_TYPE_CS_SERVICE",
+ "1": "BARRING_SERVICE_TYPE_PS_SERVICE",
+ "2": "BARRING_SERVICE_TYPE_CS_VOICE",
+ "3": "BARRING_SERVICE_TYPE_MO_SIGNALLING",
+ "4": "BARRING_SERVICE_TYPE_MO_DATA",
+ "5": "BARRING_SERVICE_TYPE_CS_FALLBACK",
+ "6": "BARRING_SERVICE_TYPE_MMTEL_VOICE",
+ "7": "BARRING_SERVICE_TYPE_MMTEL_VIDEO",
+ "8": "BARRING_SERVICE_TYPE_EMERGENCY",
+ "9": "BARRING_SERVICE_TYPE_SMS"
+ }
+ },
+ "android.telephony.CallForwardingInfo.CallForwardingReason": {
+ "flag": true,
+ "values": {
+ "0": "REASON_UNCONDITIONAL",
+ "1": "REASON_BUSY",
+ "2": "REASON_NO_REPLY",
+ "3": "REASON_NOT_REACHABLE",
+ "4": "REASON_ALL",
+ "5": "REASON_ALL_CONDITIONAL"
+ }
+ },
+ "android.telephony.CallQuality.CallQualityLevel": {
+ "flag": false,
+ "values": {
+ "0": "CALL_QUALITY_EXCELLENT",
+ "1": "CALL_QUALITY_GOOD",
+ "2": "CALL_QUALITY_FAIR",
+ "3": "CALL_QUALITY_POOR",
+ "4": "CALL_QUALITY_BAD",
+ "5": "CALL_QUALITY_NOT_AVAILABLE"
+ }
+ },
+ "android.telephony.CarrierRestrictionRules.CarrierRestrictionDefault": {
+ "flag": false,
+ "values": {
+ "0": "CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED",
+ "1": "CARRIER_RESTRICTION_DEFAULT_ALLOWED"
+ }
+ },
+ "android.telephony.CarrierRestrictionRules.MultiSimPolicy": {
+ "flag": false,
+ "values": {
+ "0": "MULTISIM_POLICY_NONE",
+ "1": "MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT"
+ }
+ },
+ "android.telephony.CellInfo.CellConnectionStatus": {
+ "flag": false,
+ "values": {
+ "0": "CONNECTION_NONE",
+ "1": "CONNECTION_PRIMARY_SERVING",
+ "2": "CONNECTION_SECONDARY_SERVING",
+ "2147483647": "CONNECTION_UNKNOWN"
+ }
+ },
+ "android.telephony.CellInfo.Type": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_GSM",
+ "2": "TYPE_CDMA",
+ "3": "TYPE_LTE",
+ "4": "TYPE_WCDMA",
+ "5": "TYPE_TDSCDMA",
+ "6": "TYPE_NR"
+ }
+ },
+ "android.telephony.CellSignalStrengthNr.SignalLevelAndReportCriteriaSource": {
+ "flag": true,
+ "values": {
+ "1": "USE_SSRSRP",
+ "2": "USE_SSRSRQ",
+ "4": "USE_SSSINR"
+ }
+ },
+ "android.telephony.DataThrottlingRequest.DataThrottlingAction": {
+ "flag": false,
+ "values": {
+ "0": "DATA_THROTTLING_ACTION_NO_DATA_THROTTLING",
+ "1": "DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER",
+ "2": "DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER",
+ "3": "DATA_THROTTLING_ACTION_HOLD"
+ }
+ },
+ "android.telephony.LteVopsSupportInfo.LteVopsStatus": {
+ "flag": false,
+ "values": {
+ "1": "LTE_STATUS_NOT_AVAILABLE",
+ "2": "LTE_STATUS_SUPPORTED",
+ "3": "LTE_STATUS_NOT_SUPPORTED"
+ }
+ },
+ "android.telephony.MbmsDownloadSession.DownloadResultCode": {
+ "flag": false,
+ "values": {
+ "1": "RESULT_SUCCESSFUL",
+ "2": "RESULT_CANCELLED",
+ "3": "RESULT_EXPIRED",
+ "4": "RESULT_IO_ERROR",
+ "5": "RESULT_SERVICE_ID_NOT_DEFINED",
+ "6": "RESULT_DOWNLOAD_FAILURE",
+ "7": "RESULT_OUT_OF_STORAGE",
+ "8": "RESULT_FILE_ROOT_UNREACHABLE"
+ }
+ },
+ "android.telephony.MbmsDownloadSession.DownloadStatus": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_UNKNOWN",
+ "1": "STATUS_ACTIVELY_DOWNLOADING",
+ "2": "STATUS_PENDING_DOWNLOAD",
+ "3": "STATUS_PENDING_REPAIR",
+ "4": "STATUS_PENDING_DOWNLOAD_WINDOW"
+ }
+ },
+ "android.telephony.ModemActivityInfo.TxPowerLevel": {
+ "flag": false,
+ "values": {
+ "0": "TX_POWER_LEVEL_0",
+ "1": "TX_POWER_LEVEL_1",
+ "2": "TX_POWER_LEVEL_2",
+ "3": "TX_POWER_LEVEL_3",
+ "4": "TX_POWER_LEVEL_4"
+ }
+ },
+ "android.telephony.NetworkRegistrationInfo.Domain": {
+ "flag": false,
+ "values": {
+ "0": "DOMAIN_UNKNOWN",
+ "1": "DOMAIN_CS",
+ "2": "DOMAIN_PS",
+ "3": "DOMAIN_CS_PS"
+ }
+ },
+ "android.telephony.NetworkRegistrationInfo.NRState": {
+ "flag": false,
+ "values": {
+ "0": "NR_STATE_NONE",
+ "1": "NR_STATE_RESTRICTED",
+ "2": "NR_STATE_NOT_RESTRICTED",
+ "3": "NR_STATE_CONNECTED"
+ }
+ },
+ "android.telephony.NetworkRegistrationInfo.RegistrationState": {
+ "flag": false,
+ "values": {
+ "0": "REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING",
+ "1": "REGISTRATION_STATE_HOME",
+ "2": "REGISTRATION_STATE_NOT_REGISTERED_SEARCHING",
+ "3": "REGISTRATION_STATE_DENIED",
+ "4": "REGISTRATION_STATE_UNKNOWN",
+ "5": "REGISTRATION_STATE_ROAMING"
+ }
+ },
+ "android.telephony.NetworkRegistrationInfo.ServiceType": {
+ "flag": false,
+ "values": {
+ "0": "SERVICE_TYPE_UNKNOWN",
+ "1": "SERVICE_TYPE_VOICE",
+ "2": "SERVICE_TYPE_DATA",
+ "3": "SERVICE_TYPE_SMS",
+ "4": "SERVICE_TYPE_VIDEO",
+ "5": "SERVICE_TYPE_EMERGENCY"
+ }
+ },
+ "android.telephony.NetworkScan.ScanErrorCode": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_MODEM_ERROR",
+ "2": "ERROR_INVALID_SCAN",
+ "3": "ERROR_MODEM_UNAVAILABLE",
+ "4": "ERROR_UNSUPPORTED",
+ "10000": "ERROR_RADIO_INTERFACE_ERROR",
+ "10001": "ERROR_INVALID_SCANID",
+ "10002": "ERROR_INTERRUPTED"
+ }
+ },
+ "android.telephony.NetworkScanRequest.ScanType": {
+ "flag": false,
+ "values": {
+ "0": "SCAN_TYPE_ONE_SHOT",
+ "1": "SCAN_TYPE_PERIODIC"
+ }
+ },
+ "android.telephony.NetworkServiceCallback.Result": {
+ "flag": false,
+ "values": {
+ "0": "RESULT_SUCCESS",
+ "1": "RESULT_ERROR_UNSUPPORTED",
+ "2": "RESULT_ERROR_INVALID_ARG",
+ "3": "RESULT_ERROR_BUSY",
+ "4": "RESULT_ERROR_ILLEGAL_STATE",
+ "5": "RESULT_ERROR_FAILED"
+ }
+ },
+ "android.telephony.NumberVerificationCallback.NumberVerificationFailureReason": {
+ "flag": false,
+ "values": {
+ "0": "REASON_UNSPECIFIED",
+ "1": "REASON_TIMED_OUT",
+ "2": "REASON_NETWORK_NOT_AVAILABLE",
+ "3": "REASON_TOO_MANY_CALLS",
+ "4": "REASON_CONCURRENT_REQUESTS",
+ "5": "REASON_IN_ECBM",
+ "6": "REASON_IN_EMERGENCY_CALL"
+ }
+ },
+ "android.telephony.PhoneNumberUtils.BcdExtendType": {
+ "flag": false,
+ "values": {
+ "1": "BCD_EXTENDED_TYPE_EF_ADN",
+ "2": "BCD_EXTENDED_TYPE_CALLED_PARTY"
+ }
+ },
+ "android.telephony.PhysicalChannelConfig.ConnectionStatus": {
+ "flag": false,
+ "values": {
+ "1": "CONNECTION_PRIMARY_SERVING",
+ "2": "CONNECTION_SECONDARY_SERVING",
+ "-1": "CONNECTION_UNKNOWN"
+ }
+ },
+ "android.telephony.PinResult.PinResultType": {
+ "flag": false,
+ "values": {
+ "0": "PIN_RESULT_TYPE_SUCCESS",
+ "1": "PIN_RESULT_TYPE_INCORRECT",
+ "2": "PIN_RESULT_TYPE_FAILURE",
+ "3": "PIN_RESULT_TYPE_ABORTED"
+ }
+ },
+ "android.telephony.ServiceState.DuplexMode": {
+ "flag": false,
+ "values": {
+ "0": "DUPLEX_MODE_UNKNOWN",
+ "1": "DUPLEX_MODE_FDD",
+ "2": "DUPLEX_MODE_TDD"
+ }
+ },
+ "android.telephony.ServiceState.FrequencyRange": {
+ "flag": false,
+ "values": {
+ "0": "FREQUENCY_RANGE_UNKNOWN",
+ "1": "FREQUENCY_RANGE_LOW",
+ "2": "FREQUENCY_RANGE_MID",
+ "3": "FREQUENCY_RANGE_HIGH",
+ "4": "FREQUENCY_RANGE_MMWAVE"
+ }
+ },
+ "android.telephony.ServiceState.RegState": {
+ "flag": false,
+ "values": {
+ "0": "STATE_IN_SERVICE",
+ "1": "STATE_OUT_OF_SERVICE",
+ "2": "STATE_EMERGENCY_ONLY",
+ "3": "STATE_POWER_OFF"
+ }
+ },
+ "android.telephony.ServiceState.RilRadioTechnology": {
+ "flag": false,
+ "values": {
+ "0": "RIL_RADIO_TECHNOLOGY_UNKNOWN",
+ "1": "RIL_RADIO_TECHNOLOGY_GPRS",
+ "2": "RIL_RADIO_TECHNOLOGY_EDGE",
+ "3": "RIL_RADIO_TECHNOLOGY_UMTS",
+ "4": "RIL_RADIO_TECHNOLOGY_IS95A",
+ "5": "RIL_RADIO_TECHNOLOGY_IS95B",
+ "6": "RIL_RADIO_TECHNOLOGY_1xRTT",
+ "7": "RIL_RADIO_TECHNOLOGY_EVDO_0",
+ "8": "RIL_RADIO_TECHNOLOGY_EVDO_A",
+ "9": "RIL_RADIO_TECHNOLOGY_HSDPA",
+ "10": "RIL_RADIO_TECHNOLOGY_HSUPA",
+ "11": "RIL_RADIO_TECHNOLOGY_HSPA",
+ "12": "RIL_RADIO_TECHNOLOGY_EVDO_B",
+ "13": "RIL_RADIO_TECHNOLOGY_EHRPD",
+ "14": "RIL_RADIO_TECHNOLOGY_LTE",
+ "15": "RIL_RADIO_TECHNOLOGY_HSPAP",
+ "16": "RIL_RADIO_TECHNOLOGY_GSM",
+ "17": "RIL_RADIO_TECHNOLOGY_TD_SCDMA",
+ "18": "RIL_RADIO_TECHNOLOGY_IWLAN",
+ "19": "RIL_RADIO_TECHNOLOGY_LTE_CA",
+ "20": "RIL_RADIO_TECHNOLOGY_NR"
+ }
+ },
+ "android.telephony.ServiceState.RoamingType": {
+ "flag": false,
+ "values": {
+ "0": "ROAMING_TYPE_NOT_ROAMING",
+ "1": "ROAMING_TYPE_UNKNOWN",
+ "2": "ROAMING_TYPE_DOMESTIC",
+ "3": "ROAMING_TYPE_INTERNATIONAL"
+ }
+ },
+ "android.telephony.SignalThresholdInfo.SignalMeasurementType": {
+ "flag": false,
+ "values": {
+ "1": "SIGNAL_RSSI",
+ "2": "SIGNAL_RSCP",
+ "3": "SIGNAL_RSRP",
+ "4": "SIGNAL_RSRQ",
+ "5": "SIGNAL_RSSNR",
+ "6": "SIGNAL_SSRSRP",
+ "7": "SIGNAL_SSRSRQ",
+ "8": "SIGNAL_SSSINR"
+ }
+ },
+ "android.telephony.SmsCbCmasInfo.Category": {
+ "flag": false,
+ "values": {
+ "0": "CMAS_CATEGORY_GEO",
+ "1": "CMAS_CATEGORY_MET",
+ "2": "CMAS_CATEGORY_SAFETY",
+ "3": "CMAS_CATEGORY_SECURITY",
+ "4": "CMAS_CATEGORY_RESCUE",
+ "5": "CMAS_CATEGORY_FIRE",
+ "6": "CMAS_CATEGORY_HEALTH",
+ "7": "CMAS_CATEGORY_ENV",
+ "8": "CMAS_CATEGORY_TRANSPORT",
+ "9": "CMAS_CATEGORY_INFRA",
+ "10": "CMAS_CATEGORY_CBRNE",
+ "11": "CMAS_CATEGORY_OTHER",
+ "-1": "CMAS_CATEGORY_UNKNOWN"
+ }
+ },
+ "android.telephony.SmsCbCmasInfo.Certainty": {
+ "flag": false,
+ "values": {
+ "0": "CMAS_CERTAINTY_OBSERVED",
+ "1": "CMAS_CERTAINTY_LIKELY",
+ "-1": "CMAS_CERTAINTY_UNKNOWN"
+ }
+ },
+ "android.telephony.SmsCbCmasInfo.Class": {
+ "flag": false,
+ "values": {
+ "0": "CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT",
+ "1": "CMAS_CLASS_EXTREME_THREAT",
+ "2": "CMAS_CLASS_SEVERE_THREAT",
+ "3": "CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY",
+ "4": "CMAS_CLASS_REQUIRED_MONTHLY_TEST",
+ "5": "CMAS_CLASS_CMAS_EXERCISE",
+ "6": "CMAS_CLASS_OPERATOR_DEFINED_USE",
+ "-1": "CMAS_CLASS_UNKNOWN"
+ }
+ },
+ "android.telephony.SmsCbCmasInfo.ResponseType": {
+ "flag": false,
+ "values": {
+ "0": "CMAS_RESPONSE_TYPE_SHELTER",
+ "1": "CMAS_RESPONSE_TYPE_EVACUATE",
+ "2": "CMAS_RESPONSE_TYPE_PREPARE",
+ "3": "CMAS_RESPONSE_TYPE_EXECUTE",
+ "4": "CMAS_RESPONSE_TYPE_MONITOR",
+ "5": "CMAS_RESPONSE_TYPE_AVOID",
+ "6": "CMAS_RESPONSE_TYPE_ASSESS",
+ "7": "CMAS_RESPONSE_TYPE_NONE",
+ "-1": "CMAS_RESPONSE_TYPE_UNKNOWN"
+ }
+ },
+ "android.telephony.SmsCbCmasInfo.Severity": {
+ "flag": false,
+ "values": {
+ "0": "CMAS_SEVERITY_EXTREME",
+ "1": "CMAS_SEVERITY_SEVERE",
+ "-1": "CMAS_SEVERITY_UNKNOWN"
+ }
+ },
+ "android.telephony.SmsCbCmasInfo.Urgency": {
+ "flag": false,
+ "values": {
+ "0": "CMAS_URGENCY_IMMEDIATE",
+ "1": "CMAS_URGENCY_EXPECTED",
+ "-1": "CMAS_URGENCY_UNKNOWN"
+ }
+ },
+ "android.telephony.SmsCbEtwsInfo.WarningType": {
+ "flag": false,
+ "values": {
+ "0": "ETWS_WARNING_TYPE_EARTHQUAKE",
+ "1": "ETWS_WARNING_TYPE_TSUNAMI",
+ "2": "ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI",
+ "3": "ETWS_WARNING_TYPE_TEST_MESSAGE",
+ "4": "ETWS_WARNING_TYPE_OTHER_EMERGENCY",
+ "-1": "ETWS_WARNING_TYPE_UNKNOWN"
+ }
+ },
+ "android.telephony.SmsCbMessage.GeographicalScope": {
+ "flag": false,
+ "values": {
+ "0": "GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE",
+ "1": "GEOGRAPHICAL_SCOPE_PLMN_WIDE",
+ "2": "GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE",
+ "3": "GEOGRAPHICAL_SCOPE_CELL_WIDE"
+ }
+ },
+ "android.telephony.SmsCbMessage.MessageFormat": {
+ "flag": false,
+ "values": {
+ "1": "MESSAGE_FORMAT_3GPP",
+ "2": "MESSAGE_FORMAT_3GPP2"
+ }
+ },
+ "android.telephony.SmsCbMessage.MessagePriority": {
+ "flag": false,
+ "values": {
+ "0": "MESSAGE_PRIORITY_NORMAL",
+ "1": "MESSAGE_PRIORITY_INTERACTIVE",
+ "2": "MESSAGE_PRIORITY_URGENT",
+ "3": "MESSAGE_PRIORITY_EMERGENCY"
+ }
+ },
+ "android.telephony.SmsManager.PremiumSmsConsent": {
+ "flag": false,
+ "values": {
+ "0": "PREMIUM_SMS_CONSENT_UNKNOWN",
+ "1": "PREMIUM_SMS_CONSENT_ASK_USER",
+ "2": "PREMIUM_SMS_CONSENT_NEVER_ALLOW",
+ "3": "PREMIUM_SMS_CONSENT_ALWAYS_ALLOW"
+ }
+ },
+ "android.telephony.SmsManager.Result": {
+ "flag": false,
+ "values": {
+ "0": "RESULT_ERROR_NONE",
+ "1": "RESULT_ERROR_GENERIC_FAILURE",
+ "2": "RESULT_ERROR_RADIO_OFF",
+ "3": "RESULT_ERROR_NULL_PDU",
+ "4": "RESULT_ERROR_NO_SERVICE",
+ "5": "RESULT_ERROR_LIMIT_EXCEEDED",
+ "6": "RESULT_ERROR_FDN_CHECK_FAILURE",
+ "7": "RESULT_ERROR_SHORT_CODE_NOT_ALLOWED",
+ "8": "RESULT_ERROR_SHORT_CODE_NEVER_ALLOWED",
+ "9": "RESULT_RADIO_NOT_AVAILABLE",
+ "10": "RESULT_NETWORK_REJECT",
+ "11": "RESULT_INVALID_ARGUMENTS",
+ "12": "RESULT_INVALID_STATE",
+ "13": "RESULT_NO_MEMORY",
+ "14": "RESULT_INVALID_SMS_FORMAT",
+ "15": "RESULT_SYSTEM_ERROR",
+ "16": "RESULT_MODEM_ERROR",
+ "17": "RESULT_NETWORK_ERROR",
+ "19": "RESULT_INVALID_SMSC_ADDRESS",
+ "20": "RESULT_OPERATION_NOT_ALLOWED",
+ "21": "RESULT_INTERNAL_ERROR",
+ "22": "RESULT_NO_RESOURCES",
+ "23": "RESULT_CANCELLED",
+ "24": "RESULT_REQUEST_NOT_SUPPORTED",
+ "25": "RESULT_NO_BLUETOOTH_SERVICE",
+ "26": "RESULT_INVALID_BLUETOOTH_ADDRESS",
+ "27": "RESULT_BLUETOOTH_DISCONNECTED",
+ "28": "RESULT_UNEXPECTED_EVENT_STOP_SENDING",
+ "29": "RESULT_SMS_BLOCKED_DURING_EMERGENCY",
+ "30": "RESULT_SMS_SEND_RETRY_FAILED",
+ "31": "RESULT_REMOTE_EXCEPTION",
+ "32": "RESULT_NO_DEFAULT_SMS_APP",
+ "100": "RESULT_RIL_RADIO_NOT_AVAILABLE",
+ "101": "RESULT_RIL_SMS_SEND_FAIL_RETRY",
+ "102": "RESULT_RIL_NETWORK_REJECT",
+ "103": "RESULT_RIL_INVALID_STATE",
+ "104": "RESULT_RIL_INVALID_ARGUMENTS",
+ "105": "RESULT_RIL_NO_MEMORY",
+ "106": "RESULT_RIL_REQUEST_RATE_LIMITED",
+ "107": "RESULT_RIL_INVALID_SMS_FORMAT",
+ "108": "RESULT_RIL_SYSTEM_ERR",
+ "109": "RESULT_RIL_ENCODING_ERR",
+ "110": "RESULT_RIL_INVALID_SMSC_ADDRESS",
+ "111": "RESULT_RIL_MODEM_ERR",
+ "112": "RESULT_RIL_NETWORK_ERR",
+ "113": "RESULT_RIL_INTERNAL_ERR",
+ "114": "RESULT_RIL_REQUEST_NOT_SUPPORTED",
+ "115": "RESULT_RIL_INVALID_MODEM_STATE",
+ "116": "RESULT_RIL_NETWORK_NOT_READY",
+ "117": "RESULT_RIL_OPERATION_NOT_ALLOWED",
+ "118": "RESULT_RIL_NO_RESOURCES",
+ "119": "RESULT_RIL_CANCELLED",
+ "120": "RESULT_RIL_SIM_ABSENT",
+ "121": "RESULT_RIL_SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED",
+ "122": "RESULT_RIL_ACCESS_BARRED",
+ "123": "RESULT_RIL_BLOCKED_DUE_TO_CALL"
+ }
+ },
+ "android.telephony.SmsManager.SmsShortCodeCategory": {
+ "flag": false,
+ "values": {
+ "0": "SMS_CATEGORY_NOT_SHORT_CODE",
+ "1": "SMS_CATEGORY_FREE_SHORT_CODE",
+ "2": "SMS_CATEGORY_STANDARD_SHORT_CODE",
+ "3": "SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE",
+ "4": "SMS_CATEGORY_PREMIUM_SHORT_CODE"
+ }
+ },
+ "android.telephony.SmsManager.StatusOnIcc": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_ON_ICC_FREE",
+ "1": "STATUS_ON_ICC_READ",
+ "3": "STATUS_ON_ICC_UNREAD",
+ "5": "STATUS_ON_ICC_SENT",
+ "7": "STATUS_ON_ICC_UNSENT"
+ }
+ },
+ "android.telephony.SmsMessage.EncodingSize": {
+ "flag": false,
+ "values": {
+ "0": "ENCODING_UNKNOWN",
+ "1": "ENCODING_7BIT",
+ "2": "ENCODING_8BIT",
+ "3": "ENCODING_16BIT"
+ }
+ },
+ "android.telephony.SubscriptionManager.ProfileClass": {
+ "flag": false,
+ "values": {
+ "0": "PROFILE_CLASS_TESTING",
+ "1": "PROFILE_CLASS_PROVISIONING",
+ "2": "PROFILE_CLASS_OPERATIONAL",
+ "-1": "PROFILE_CLASS_UNSET"
+ }
+ },
+ "android.telephony.SubscriptionManager.SimDisplayNameSource": {
+ "flag": false,
+ "values": {
+ "0": "NAME_SOURCE_CARRIER_ID",
+ "1": "NAME_SOURCE_SIM_SPN",
+ "2": "NAME_SOURCE_USER_INPUT",
+ "3": "NAME_SOURCE_CARRIER",
+ "4": "NAME_SOURCE_SIM_PNN"
+ }
+ },
+ "android.telephony.SubscriptionManager.SubscriptionType": {
+ "flag": false,
+ "values": {
+ "0": "SUBSCRIPTION_TYPE_LOCAL_SIM",
+ "1": "SUBSCRIPTION_TYPE_REMOTE_SIM"
+ }
+ },
+ "android.telephony.SubscriptionPlan.LimitBehavior": {
+ "flag": false,
+ "values": {
+ "-1": "LIMIT_BEHAVIOR_UNKNOWN",
+ "0": "LIMIT_BEHAVIOR_DISABLED",
+ "1": "LIMIT_BEHAVIOR_BILLED",
+ "2": "LIMIT_BEHAVIOR_THROTTLED"
+ }
+ },
+ "android.telephony.TelephonyManager.AllowedNetworkTypesReason": {
+ "flag": false,
+ "values": {
+ "0": "ALLOWED_NETWORK_TYPES_REASON_POWER"
+ }
+ },
+ "android.telephony.TelephonyManager.CallForwardingInfoCallback.CallForwardingError": {
+ "flag": false,
+ "values": {
+ "1": "RESULT_ERROR_UNKNOWN",
+ "3": "RESULT_ERROR_NOT_SUPPORTED",
+ "2": "RESULT_ERROR_FDN_CHECK_FAILURE"
+ }
+ },
+ "android.telephony.TelephonyManager.CallWaitingStatus": {
+ "flag": false,
+ "values": {
+ "1": "CALL_WAITING_STATUS_ENABLED",
+ "2": "CALL_WAITING_STATUS_DISABLED",
+ "3": "CALL_WAITING_STATUS_UNKNOWN_ERROR",
+ "4": "CALL_WAITING_STATUS_NOT_SUPPORTED"
+ }
+ },
+ "android.telephony.TelephonyManager.CdmaRoamingMode": {
+ "flag": false,
+ "values": {
+ "-1": "CDMA_ROAMING_MODE_RADIO_DEFAULT",
+ "0": "CDMA_ROAMING_MODE_HOME",
+ "1": "CDMA_ROAMING_MODE_AFFILIATED",
+ "2": "CDMA_ROAMING_MODE_ANY"
+ }
+ },
+ "android.telephony.TelephonyManager.CdmaSubscription": {
+ "flag": true,
+ "values": {
+ "-1": "CDMA_SUBSCRIPTION_UNKNOWN",
+ "0": "CDMA_SUBSCRIPTION_RUIM_SIM",
+ "1": "CDMA_SUBSCRIPTION_NV"
+ }
+ },
+ "android.telephony.TelephonyManager.CellInfoCallback.CellInfoCallbackError": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_TIMEOUT",
+ "2": "ERROR_MODEM_ERROR"
+ }
+ },
+ "android.telephony.TelephonyManager.DataEnabledReason": {
+ "flag": false,
+ "values": {
+ "0": "DATA_ENABLED_REASON_USER",
+ "1": "DATA_ENABLED_REASON_POLICY",
+ "2": "DATA_ENABLED_REASON_CARRIER",
+ "3": "DATA_ENABLED_REASON_THERMAL"
+ }
+ },
+ "android.telephony.TelephonyManager.DataState": {
+ "flag": false,
+ "values": {
+ "-1": "DATA_UNKNOWN",
+ "0": "DATA_DISCONNECTED",
+ "1": "DATA_CONNECTING",
+ "2": "DATA_CONNECTED",
+ "3": "DATA_SUSPENDED",
+ "4": "DATA_DISCONNECTING"
+ }
+ },
+ "android.telephony.TelephonyManager.DefaultSubscriptionSelectType": {
+ "flag": false,
+ "values": {
+ "0": "EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_NONE",
+ "1": "EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_DATA",
+ "2": "EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_VOICE",
+ "3": "EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_SMS",
+ "4": "EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_ALL"
+ }
+ },
+ "android.telephony.TelephonyManager.EnableNrDualConnectivityResult": {
+ "flag": false,
+ "values": {
+ "0": "ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS",
+ "1": "ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED",
+ "4": "ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE",
+ "2": "ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE",
+ "3": "ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR"
+ }
+ },
+ "android.telephony.TelephonyManager.EriIconIndex": {
+ "flag": false,
+ "values": {
+ "0": "ERI_ON",
+ "1": "ERI_OFF",
+ "2": "ERI_FLASH"
+ }
+ },
+ "android.telephony.TelephonyManager.EriIconMode": {
+ "flag": false,
+ "values": {
+ "0": "ERI_ICON_MODE_NORMAL",
+ "1": "ERI_ICON_MODE_FLASH"
+ }
+ },
+ "android.telephony.TelephonyManager.IsMultiSimSupportedResult": {
+ "flag": false,
+ "values": {
+ "0": "MULTISIM_ALLOWED",
+ "1": "MULTISIM_NOT_SUPPORTED_BY_HARDWARE",
+ "2": "MULTISIM_NOT_SUPPORTED_BY_CARRIER"
+ }
+ },
+ "android.telephony.TelephonyManager.KeyType": {
+ "flag": false,
+ "values": {
+ "1": "KEY_TYPE_EPDG",
+ "2": "KEY_TYPE_WLAN"
+ }
+ },
+ "android.telephony.TelephonyManager.MobileDataPolicy": {
+ "flag": false,
+ "values": {
+ "1": "MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL",
+ "2": "MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED"
+ }
+ },
+ "android.telephony.TelephonyManager.ModemActivityInfoException.ModemActivityInfoError": {
+ "flag": false,
+ "values": {
+ "0": "ERROR_UNKNOWN",
+ "1": "ERROR_PHONE_NOT_AVAILABLE",
+ "2": "ERROR_INVALID_INFO_RECEIVED",
+ "3": "ERROR_MODEM_RESPONSE_ERROR"
+ }
+ },
+ "android.telephony.TelephonyManager.NetworkSelectionMode": {
+ "flag": false,
+ "values": {
+ "0": "NETWORK_SELECTION_MODE_UNKNOWN",
+ "1": "NETWORK_SELECTION_MODE_AUTO",
+ "2": "NETWORK_SELECTION_MODE_MANUAL"
+ }
+ },
+ "android.telephony.TelephonyManager.NrDualConnectivityState": {
+ "flag": false,
+ "values": {
+ "1": "NR_DUAL_CONNECTIVITY_ENABLE",
+ "2": "NR_DUAL_CONNECTIVITY_DISABLE",
+ "3": "NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE"
+ }
+ },
+ "android.telephony.TelephonyManager.PrefNetworkMode": {
+ "flag": false,
+ "values": {
+ "0": "NETWORK_MODE_WCDMA_PREF",
+ "1": "NETWORK_MODE_GSM_ONLY",
+ "2": "NETWORK_MODE_WCDMA_ONLY",
+ "3": "NETWORK_MODE_GSM_UMTS",
+ "4": "NETWORK_MODE_CDMA_EVDO",
+ "5": "NETWORK_MODE_CDMA_NO_EVDO",
+ "6": "NETWORK_MODE_EVDO_NO_CDMA",
+ "7": "NETWORK_MODE_GLOBAL",
+ "8": "NETWORK_MODE_LTE_CDMA_EVDO",
+ "9": "NETWORK_MODE_LTE_GSM_WCDMA",
+ "10": "NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA",
+ "11": "NETWORK_MODE_LTE_ONLY",
+ "12": "NETWORK_MODE_LTE_WCDMA",
+ "13": "NETWORK_MODE_TDSCDMA_ONLY",
+ "14": "NETWORK_MODE_TDSCDMA_WCDMA",
+ "15": "NETWORK_MODE_LTE_TDSCDMA",
+ "16": "NETWORK_MODE_TDSCDMA_GSM",
+ "17": "NETWORK_MODE_LTE_TDSCDMA_GSM",
+ "18": "NETWORK_MODE_TDSCDMA_GSM_WCDMA",
+ "19": "NETWORK_MODE_LTE_TDSCDMA_WCDMA",
+ "20": "NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA",
+ "21": "NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA",
+ "22": "NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA",
+ "23": "NETWORK_MODE_NR_ONLY",
+ "24": "NETWORK_MODE_NR_LTE",
+ "25": "NETWORK_MODE_NR_LTE_CDMA_EVDO",
+ "26": "NETWORK_MODE_NR_LTE_GSM_WCDMA",
+ "27": "NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA",
+ "28": "NETWORK_MODE_NR_LTE_WCDMA",
+ "29": "NETWORK_MODE_NR_LTE_TDSCDMA",
+ "30": "NETWORK_MODE_NR_LTE_TDSCDMA_GSM",
+ "31": "NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA",
+ "32": "NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA",
+ "33": "NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA"
+ }
+ },
+ "android.telephony.TelephonyManager.RadioInterfaceCapability": {
+ "flag": false,
+ "values": {}
+ },
+ "android.telephony.TelephonyManager.SetCarrierRestrictionResult": {
+ "flag": false,
+ "values": {
+ "0": "SET_CARRIER_RESTRICTION_SUCCESS",
+ "1": "SET_CARRIER_RESTRICTION_NOT_SUPPORTED",
+ "2": "SET_CARRIER_RESTRICTION_ERROR"
+ }
+ },
+ "android.telephony.TelephonyManager.SetOpportunisticSubscriptionResult": {
+ "flag": false,
+ "values": {
+ "0": "SET_OPPORTUNISTIC_SUB_SUCCESS",
+ "1": "SET_OPPORTUNISTIC_SUB_VALIDATION_FAILED",
+ "2": "SET_OPPORTUNISTIC_SUB_INACTIVE_SUBSCRIPTION",
+ "3": "SET_OPPORTUNISTIC_SUB_NO_OPPORTUNISTIC_SUB_AVAILABLE",
+ "4": "SET_OPPORTUNISTIC_SUB_REMOTE_SERVICE_EXCEPTION"
+ }
+ },
+ "android.telephony.TelephonyManager.SimCombinationWarningType": {
+ "flag": false,
+ "values": {
+ "0": "EXTRA_SIM_COMBINATION_WARNING_TYPE_NONE",
+ "1": "EXTRA_SIM_COMBINATION_WARNING_TYPE_DUAL_CDMA"
+ }
+ },
+ "android.telephony.TelephonyManager.SimState": {
+ "flag": false,
+ "values": {
+ "0": "SIM_STATE_UNKNOWN",
+ "1": "SIM_STATE_ABSENT",
+ "2": "SIM_STATE_PIN_REQUIRED",
+ "3": "SIM_STATE_PUK_REQUIRED",
+ "4": "SIM_STATE_NETWORK_LOCKED",
+ "5": "SIM_STATE_READY",
+ "6": "SIM_STATE_NOT_READY",
+ "7": "SIM_STATE_PERM_DISABLED",
+ "8": "SIM_STATE_CARD_IO_ERROR",
+ "9": "SIM_STATE_CARD_RESTRICTED",
+ "10": "SIM_STATE_LOADED",
+ "11": "SIM_STATE_PRESENT"
+ }
+ },
+ "android.telephony.TelephonyManager.UpdateAvailableNetworksResult": {
+ "flag": false,
+ "values": {
+ "0": "UPDATE_AVAILABLE_NETWORKS_SUCCESS",
+ "1": "UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE",
+ "2": "UPDATE_AVAILABLE_NETWORKS_ABORTED",
+ "3": "UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS",
+ "4": "UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE",
+ "5": "UPDATE_AVAILABLE_NETWORKS_DISABLE_MODEM_FAIL",
+ "6": "UPDATE_AVAILABLE_NETWORKS_ENABLE_MODEM_FAIL",
+ "7": "UPDATE_AVAILABLE_NETWORKS_MULTIPLE_NETWORKS_NOT_SUPPORTED",
+ "8": "UPDATE_AVAILABLE_NETWORKS_NO_OPPORTUNISTIC_SUB_AVAILABLE",
+ "9": "UPDATE_AVAILABLE_NETWORKS_REMOTE_SERVICE_EXCEPTION",
+ "10": "UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED"
+ }
+ },
+ "android.telephony.ThermalMitigationRequest.ThermalMitigationAction": {
+ "flag": false,
+ "values": {
+ "0": "THERMAL_MITIGATION_ACTION_DATA_THROTTLING",
+ "1": "THERMAL_MITIGATION_ACTION_VOICE_ONLY",
+ "2": "THERMAL_MITIGATION_ACTION_RADIO_OFF"
+ }
+ },
+ "android.telephony.UiccSlotInfo.CardStateInfo": {
+ "flag": false,
+ "values": {
+ "1": "CARD_STATE_INFO_ABSENT",
+ "2": "CARD_STATE_INFO_PRESENT",
+ "3": "CARD_STATE_INFO_ERROR",
+ "4": "CARD_STATE_INFO_RESTRICTED"
+ }
+ },
+ "android.telephony.cdma.CdmaSmsCbProgramData.Category": {
+ "flag": false,
+ "values": {
+ "4096": "CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT",
+ "4097": "CATEGORY_CMAS_EXTREME_THREAT",
+ "4098": "CATEGORY_CMAS_SEVERE_THREAT",
+ "4099": "CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY",
+ "4100": "CATEGORY_CMAS_TEST_MESSAGE",
+ "4351": "CATEGORY_CMAS_LAST_RESERVED_VALUE"
+ }
+ },
+ "android.telephony.cdma.CdmaSmsCbProgramData.Operation": {
+ "flag": false,
+ "values": {
+ "0": "OPERATION_DELETE_CATEGORY",
+ "1": "OPERATION_ADD_CATEGORY",
+ "2": "OPERATION_CLEAR_CATEGORIES"
+ }
+ },
+ "android.telephony.data.ApnSetting.AuthType": {
+ "flag": false,
+ "values": {
+ "0": "AUTH_TYPE_NONE",
+ "1": "AUTH_TYPE_PAP",
+ "2": "AUTH_TYPE_CHAP",
+ "3": "AUTH_TYPE_PAP_OR_CHAP"
+ }
+ },
+ "android.telephony.data.ApnSetting.MvnoType": {
+ "flag": false,
+ "values": {
+ "0": "MVNO_TYPE_SPN",
+ "1": "MVNO_TYPE_IMSI",
+ "2": "MVNO_TYPE_GID",
+ "3": "MVNO_TYPE_ICCID"
+ }
+ },
+ "android.telephony.data.ApnSetting.ProtocolType": {
+ "flag": false,
+ "values": {
+ "0": "PROTOCOL_IP",
+ "1": "PROTOCOL_IPV6",
+ "2": "PROTOCOL_IPV4V6",
+ "3": "PROTOCOL_PPP",
+ "4": "PROTOCOL_NON_IP",
+ "5": "PROTOCOL_UNSTRUCTURED"
+ }
+ },
+ "android.telephony.data.ApnSetting.Skip464XlatStatus": {
+ "flag": false,
+ "values": {
+ "-1": "SKIP_464XLAT_DEFAULT",
+ "0": "SKIP_464XLAT_DISABLE",
+ "1": "SKIP_464XLAT_ENABLE"
+ }
+ },
+ "android.telephony.data.ApnThrottleStatus.RetryType": {
+ "flag": true,
+ "values": {
+ "1": "RETRY_TYPE_NONE",
+ "2": "RETRY_TYPE_NEW_CONNECTION",
+ "3": "RETRY_TYPE_HANDOVER"
+ }
+ },
+ "android.telephony.data.ApnThrottleStatus.ThrottleType": {
+ "flag": true,
+ "values": {
+ "1": "THROTTLE_TYPE_NONE",
+ "2": "THROTTLE_TYPE_ELAPSED_TIME"
+ }
+ },
+ "android.telephony.data.DataCallResponse.HandoverFailureMode": {
+ "flag": false,
+ "values": {
+ "-1": "HANDOVER_FAILURE_MODE_UNKNOWN",
+ "0": "HANDOVER_FAILURE_MODE_LEGACY",
+ "1": "HANDOVER_FAILURE_MODE_DO_FALLBACK",
+ "2": "HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER",
+ "3": "HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL"
+ }
+ },
+ "android.telephony.data.DataCallResponse.LinkStatus": {
+ "flag": false,
+ "values": {
+ "-1": "LINK_STATUS_UNKNOWN",
+ "0": "LINK_STATUS_INACTIVE",
+ "1": "LINK_STATUS_DORMANT",
+ "2": "LINK_STATUS_ACTIVE"
+ }
+ },
+ "android.telephony.data.DataProfile.Type": {
+ "flag": false,
+ "values": {
+ "0": "TYPE_COMMON",
+ "1": "TYPE_3GPP",
+ "2": "TYPE_3GPP2"
+ }
+ },
+ "android.telephony.data.DataService.DeactivateDataReason": {
+ "flag": false,
+ "values": {
+ "0": "REQUEST_REASON_UNKNOWN",
+ "1": "REQUEST_REASON_NORMAL",
+ "2": "REQUEST_REASON_SHUTDOWN",
+ "3": "REQUEST_REASON_HANDOVER"
+ }
+ },
+ "android.telephony.data.DataService.SetupDataReason": {
+ "flag": false,
+ "values": {
+ "0": "REQUEST_REASON_UNKNOWN",
+ "1": "REQUEST_REASON_NORMAL",
+ "3": "REQUEST_REASON_HANDOVER"
+ }
+ },
+ "android.telephony.data.DataServiceCallback.ResultCode": {
+ "flag": false,
+ "values": {
+ "0": "RESULT_SUCCESS",
+ "1": "RESULT_ERROR_UNSUPPORTED",
+ "2": "RESULT_ERROR_INVALID_ARG",
+ "3": "RESULT_ERROR_BUSY",
+ "4": "RESULT_ERROR_ILLEGAL_STATE"
+ }
+ },
+ "android.telephony.data.Qos.QosType": {
+ "flag": false,
+ "values": {
+ "1": "QOS_TYPE_EPS",
+ "2": "QOS_TYPE_NR"
+ }
+ },
+ "android.telephony.data.QosFilter.QosFilterDirection": {
+ "flag": false,
+ "values": {
+ "0": "QOS_FILTER_DIRECTION_DOWNLINK",
+ "1": "QOS_FILTER_DIRECTION_UPLINK",
+ "2": "QOS_FILTER_DIRECTION_BIDIRECTIONAL"
+ }
+ },
+ "android.telephony.data.QosFilter.QosProtocol": {
+ "flag": false,
+ "values": {
+ "-1": "QOS_PROTOCOL_UNSPECIFIED",
+ "6": "QOS_PROTOCOL_TCP",
+ "17": "QOS_PROTOCOL_UDP",
+ "50": "QOS_PROTOCOL_ESP",
+ "51": "QOS_PROTOCOL_AH"
+ }
+ },
+ "android.telephony.emergency.EmergencyNumber.EmergencyCallRouting": {
+ "flag": false,
+ "values": {
+ "0": "EMERGENCY_CALL_ROUTING_UNKNOWN",
+ "1": "EMERGENCY_CALL_ROUTING_EMERGENCY",
+ "2": "EMERGENCY_CALL_ROUTING_NORMAL"
+ }
+ },
+ "android.telephony.emergency.EmergencyNumber.EmergencyNumberSources": {
+ "flag": true,
+ "values": {
+ "1": "EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING",
+ "2": "EMERGENCY_NUMBER_SOURCE_SIM",
+ "16": "EMERGENCY_NUMBER_SOURCE_DATABASE",
+ "4": "EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG",
+ "8": "EMERGENCY_NUMBER_SOURCE_DEFAULT"
+ }
+ },
+ "android.telephony.emergency.EmergencyNumber.EmergencyServiceCategories": {
+ "flag": true,
+ "values": {
+ "0": "EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED",
+ "1": "EMERGENCY_SERVICE_CATEGORY_POLICE",
+ "2": "EMERGENCY_SERVICE_CATEGORY_AMBULANCE",
+ "4": "EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE",
+ "8": "EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD",
+ "16": "EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE",
+ "32": "EMERGENCY_SERVICE_CATEGORY_MIEC",
+ "64": "EMERGENCY_SERVICE_CATEGORY_AIEC"
+ }
+ },
+ "android.telephony.euicc.EuiccCardManager.CancelReason": {
+ "flag": false,
+ "values": {
+ "0": "CANCEL_REASON_END_USER_REJECTED",
+ "1": "CANCEL_REASON_POSTPONED",
+ "2": "CANCEL_REASON_TIMEOUT",
+ "3": "CANCEL_REASON_PPR_NOT_ALLOWED"
+ }
+ },
+ "android.telephony.euicc.EuiccCardManager.ResetOption": {
+ "flag": true,
+ "values": {
+ "1": "RESET_OPTION_DELETE_OPERATIONAL_PROFILES",
+ "2": "RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES",
+ "4": "RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS"
+ }
+ },
+ "android.telephony.euicc.EuiccManager.ErrorCode": {
+ "flag": false,
+ "values": {
+ "10000": "ERROR_CARRIER_LOCKED",
+ "10001": "ERROR_INVALID_ACTIVATION_CODE",
+ "10002": "ERROR_INVALID_CONFIRMATION_CODE",
+ "10003": "ERROR_INCOMPATIBLE_CARRIER",
+ "10004": "ERROR_EUICC_INSUFFICIENT_MEMORY",
+ "10005": "ERROR_TIME_OUT",
+ "10006": "ERROR_EUICC_MISSING",
+ "10007": "ERROR_UNSUPPORTED_VERSION",
+ "10008": "ERROR_SIM_MISSING",
+ "10009": "ERROR_INSTALL_PROFILE",
+ "10010": "ERROR_DISALLOWED_BY_PPR",
+ "10011": "ERROR_ADDRESS_MISSING",
+ "10012": "ERROR_CERTIFICATE_ERROR",
+ "10013": "ERROR_NO_PROFILES_AVAILABLE",
+ "10014": "ERROR_CONNECTION_ERROR",
+ "10015": "ERROR_INVALID_RESPONSE",
+ "10016": "ERROR_OPERATION_BUSY"
+ }
+ },
+ "android.telephony.euicc.EuiccManager.EuiccActivationType": {
+ "flag": false,
+ "values": {
+ "1": "EUICC_ACTIVATION_TYPE_DEFAULT",
+ "2": "EUICC_ACTIVATION_TYPE_BACKUP",
+ "3": "EUICC_ACTIVATION_TYPE_TRANSFER",
+ "4": "EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED"
+ }
+ },
+ "android.telephony.euicc.EuiccManager.OperationCode": {
+ "flag": false,
+ "values": {
+ "1": "OPERATION_SYSTEM",
+ "2": "OPERATION_SIM_SLOT",
+ "3": "OPERATION_EUICC_CARD",
+ "4": "OPERATION_SWITCH",
+ "5": "OPERATION_DOWNLOAD",
+ "6": "OPERATION_METADATA",
+ "7": "OPERATION_EUICC_GSMA",
+ "8": "OPERATION_APDU",
+ "9": "OPERATION_SMDX",
+ "11": "OPERATION_HTTP",
+ "10": "OPERATION_SMDX_SUBJECT_REASON_CODE"
+ }
+ },
+ "android.telephony.euicc.EuiccManager.OtaStatus": {
+ "flag": false,
+ "values": {
+ "1": "EUICC_OTA_IN_PROGRESS",
+ "2": "EUICC_OTA_FAILED",
+ "3": "EUICC_OTA_SUCCEEDED",
+ "4": "EUICC_OTA_NOT_NEEDED",
+ "5": "EUICC_OTA_STATUS_UNAVAILABLE"
+ }
+ },
+ "android.telephony.euicc.EuiccNotification.Event": {
+ "flag": true,
+ "values": {
+ "1": "EVENT_INSTALL",
+ "2": "EVENT_ENABLE",
+ "4": "EVENT_DISABLE",
+ "8": "EVENT_DELETE"
+ }
+ },
+ "android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag": {
+ "flag": true,
+ "values": {
+ "1": "POLICY_RULE_FLAG_CONSENT_REQUIRED"
+ }
+ },
+ "android.telephony.ims.DelegateRegistrationState.DeregisteredReason": {
+ "flag": false,
+ "values": {
+ "0": "DEREGISTERED_REASON_UNKNOWN",
+ "1": "DEREGISTERED_REASON_NOT_PROVISIONED",
+ "2": "DEREGISTERED_REASON_NOT_REGISTERED"
+ }
+ },
+ "android.telephony.ims.DelegateRegistrationState.DeregisteringReason": {
+ "flag": false,
+ "values": {
+ "3": "DEREGISTERING_REASON_PDN_CHANGE",
+ "4": "DEREGISTERING_REASON_PROVISIONING_CHANGE",
+ "5": "DEREGISTERING_REASON_FEATURE_TAGS_CHANGING",
+ "6": "DEREGISTERING_REASON_DESTROY_PENDING"
+ }
+ },
+ "android.telephony.ims.ImsCallForwardInfo.CallForwardReasons": {
+ "flag": false,
+ "values": {
+ "0": "CDIV_CF_REASON_UNCONDITIONAL",
+ "1": "CDIV_CF_REASON_BUSY",
+ "2": "CDIV_CF_REASON_NO_REPLY",
+ "3": "CDIV_CF_REASON_NOT_REACHABLE",
+ "4": "CDIV_CF_REASON_ALL",
+ "5": "CDIV_CF_REASON_ALL_CONDITIONAL",
+ "6": "CDIV_CF_REASON_NOT_LOGGED_IN"
+ }
+ },
+ "android.telephony.ims.ImsCallForwardInfo.CallForwardStatus": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_NOT_ACTIVE",
+ "1": "STATUS_ACTIVE"
+ }
+ },
+ "android.telephony.ims.ImsCallForwardInfo.TypeOfAddress": {
+ "flag": false,
+ "values": {
+ "145": "TYPE_OF_ADDRESS_INTERNATIONAL",
+ "129": "TYPE_OF_ADDRESS_UNKNOWN"
+ }
+ },
+ "android.telephony.ims.ImsCallProfile.CallRestrictCause": {
+ "flag": false,
+ "values": {
+ "0": "CALL_RESTRICT_CAUSE_NONE",
+ "1": "CALL_RESTRICT_CAUSE_RAT",
+ "2": "CALL_RESTRICT_CAUSE_DISABLED",
+ "3": "CALL_RESTRICT_CAUSE_HD"
+ }
+ },
+ "android.telephony.ims.ImsCallProfile.VerificationStatus": {
+ "flag": false,
+ "values": {
+ "0": "VERIFICATION_STATUS_NOT_VERIFIED",
+ "1": "VERIFICATION_STATUS_PASSED",
+ "2": "VERIFICATION_STATUS_FAILED"
+ }
+ },
+ "android.telephony.ims.ImsException.ImsErrorCode": {
+ "flag": false,
+ "values": {
+ "0": "CODE_ERROR_UNSPECIFIED",
+ "1": "CODE_ERROR_SERVICE_UNAVAILABLE",
+ "2": "CODE_ERROR_UNSUPPORTED_OPERATION",
+ "3": "CODE_ERROR_INVALID_SUBSCRIPTION"
+ }
+ },
+ "android.telephony.ims.ImsExternalCallState.ExternalCallState": {
+ "flag": true,
+ "values": {
+ "1": "CALL_STATE_CONFIRMED",
+ "2": "CALL_STATE_TERMINATED"
+ }
+ },
+ "android.telephony.ims.ImsExternalCallState.ExternalCallType": {
+ "flag": true,
+ "values": {
+ "2": "CALL_TYPE_VOICE",
+ "5": "CALL_TYPE_VT_TX",
+ "6": "CALL_TYPE_VT_RX",
+ "4": "CALL_TYPE_VT"
+ }
+ },
+ "android.telephony.ims.ImsMmTelManager.WiFiCallingMode": {
+ "flag": false,
+ "values": {
+ "0": "WIFI_MODE_WIFI_ONLY",
+ "1": "WIFI_MODE_CELLULAR_PREFERRED",
+ "2": "WIFI_MODE_WIFI_PREFERRED"
+ }
+ },
+ "android.telephony.ims.ImsReasonInfo.ImsCode": {
+ "flag": false,
+ "values": {
+ "0": "CODE_UNSPECIFIED",
+ "101": "CODE_LOCAL_ILLEGAL_ARGUMENT",
+ "102": "CODE_LOCAL_ILLEGAL_STATE",
+ "103": "CODE_LOCAL_INTERNAL_ERROR",
+ "106": "CODE_LOCAL_IMS_SERVICE_DOWN",
+ "107": "CODE_LOCAL_NO_PENDING_CALL",
+ "108": "CODE_LOCAL_ENDED_BY_CONFERENCE_MERGE",
+ "111": "CODE_LOCAL_POWER_OFF",
+ "112": "CODE_LOCAL_LOW_BATTERY",
+ "121": "CODE_LOCAL_NETWORK_NO_SERVICE",
+ "122": "CODE_LOCAL_NETWORK_NO_LTE_COVERAGE",
+ "123": "CODE_LOCAL_NETWORK_ROAMING",
+ "124": "CODE_LOCAL_NETWORK_IP_CHANGED",
+ "131": "CODE_LOCAL_SERVICE_UNAVAILABLE",
+ "132": "CODE_LOCAL_NOT_REGISTERED",
+ "141": "CODE_LOCAL_CALL_EXCEEDED",
+ "142": "CODE_LOCAL_CALL_BUSY",
+ "143": "CODE_LOCAL_CALL_DECLINE",
+ "144": "CODE_LOCAL_CALL_VCC_ON_PROGRESSING",
+ "145": "CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED",
+ "146": "CODE_LOCAL_CALL_CS_RETRY_REQUIRED",
+ "147": "CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED",
+ "148": "CODE_LOCAL_CALL_TERMINATED",
+ "149": "CODE_LOCAL_HO_NOT_FEASIBLE",
+ "201": "CODE_TIMEOUT_1XX_WAITING",
+ "202": "CODE_TIMEOUT_NO_ANSWER",
+ "203": "CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE",
+ "240": "CODE_CALL_BARRED",
+ "241": "CODE_FDN_BLOCKED",
+ "243": "CODE_IMEI_NOT_ACCEPTED",
+ "244": "CODE_DIAL_MODIFIED_TO_USSD",
+ "245": "CODE_DIAL_MODIFIED_TO_SS",
+ "246": "CODE_DIAL_MODIFIED_TO_DIAL",
+ "247": "CODE_DIAL_MODIFIED_TO_DIAL_VIDEO",
+ "248": "CODE_DIAL_VIDEO_MODIFIED_TO_DIAL",
+ "249": "CODE_DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO",
+ "250": "CODE_DIAL_VIDEO_MODIFIED_TO_SS",
+ "251": "CODE_DIAL_VIDEO_MODIFIED_TO_USSD",
+ "321": "CODE_SIP_REDIRECTED",
+ "331": "CODE_SIP_BAD_REQUEST",
+ "332": "CODE_SIP_FORBIDDEN",
+ "333": "CODE_SIP_NOT_FOUND",
+ "334": "CODE_SIP_NOT_SUPPORTED",
+ "335": "CODE_SIP_REQUEST_TIMEOUT",
+ "336": "CODE_SIP_TEMPRARILY_UNAVAILABLE",
+ "337": "CODE_SIP_BAD_ADDRESS",
+ "338": "CODE_SIP_BUSY",
+ "339": "CODE_SIP_REQUEST_CANCELLED",
+ "340": "CODE_SIP_NOT_ACCEPTABLE",
+ "341": "CODE_SIP_NOT_REACHABLE",
+ "342": "CODE_SIP_CLIENT_ERROR",
+ "343": "CODE_SIP_TRANSACTION_DOES_NOT_EXIST",
+ "351": "CODE_SIP_SERVER_INTERNAL_ERROR",
+ "352": "CODE_SIP_SERVICE_UNAVAILABLE",
+ "353": "CODE_SIP_SERVER_TIMEOUT",
+ "354": "CODE_SIP_SERVER_ERROR",
+ "361": "CODE_SIP_USER_REJECTED",
+ "362": "CODE_SIP_GLOBAL_ERROR",
+ "363": "CODE_EMERGENCY_TEMP_FAILURE",
+ "364": "CODE_EMERGENCY_PERM_FAILURE",
+ "365": "CODE_SIP_USER_MARKED_UNWANTED",
+ "366": "CODE_SIP_METHOD_NOT_ALLOWED",
+ "367": "CODE_SIP_PROXY_AUTHENTICATION_REQUIRED",
+ "368": "CODE_SIP_REQUEST_ENTITY_TOO_LARGE",
+ "369": "CODE_SIP_REQUEST_URI_TOO_LARGE",
+ "370": "CODE_SIP_EXTENSION_REQUIRED",
+ "371": "CODE_SIP_INTERVAL_TOO_BRIEF",
+ "372": "CODE_SIP_CALL_OR_TRANS_DOES_NOT_EXIST",
+ "373": "CODE_SIP_LOOP_DETECTED",
+ "374": "CODE_SIP_TOO_MANY_HOPS",
+ "376": "CODE_SIP_AMBIGUOUS",
+ "377": "CODE_SIP_REQUEST_PENDING",
+ "378": "CODE_SIP_UNDECIPHERABLE",
+ "401": "CODE_MEDIA_INIT_FAILED",
+ "402": "CODE_MEDIA_NO_DATA",
+ "403": "CODE_MEDIA_NOT_ACCEPTABLE",
+ "404": "CODE_MEDIA_UNSPECIFIED",
+ "501": "CODE_USER_TERMINATED",
+ "502": "CODE_USER_NOANSWER",
+ "503": "CODE_USER_IGNORE",
+ "504": "CODE_USER_DECLINE",
+ "505": "CODE_LOW_BATTERY",
+ "506": "CODE_BLACKLISTED_CALL_ID",
+ "510": "CODE_USER_TERMINATED_BY_REMOTE",
+ "511": "CODE_USER_REJECTED_SESSION_MODIFICATION",
+ "512": "CODE_USER_CANCELLED_SESSION_MODIFICATION",
+ "1517": "CODE_SESSION_MODIFICATION_FAILED",
+ "801": "CODE_UT_NOT_SUPPORTED",
+ "802": "CODE_UT_SERVICE_UNAVAILABLE",
+ "803": "CODE_UT_OPERATION_NOT_ALLOWED",
+ "804": "CODE_UT_NETWORK_ERROR",
+ "821": "CODE_UT_CB_PASSWORD_MISMATCH",
+ "822": "CODE_UT_SS_MODIFIED_TO_DIAL",
+ "823": "CODE_UT_SS_MODIFIED_TO_USSD",
+ "824": "CODE_UT_SS_MODIFIED_TO_SS",
+ "825": "CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO",
+ "901": "CODE_ECBM_NOT_SUPPORTED",
+ "902": "CODE_MULTIENDPOINT_NOT_SUPPORTED",
+ "1000": "CODE_REGISTRATION_ERROR",
+ "1014": "CODE_ANSWERED_ELSEWHERE",
+ "1015": "CODE_CALL_PULL_OUT_OF_SYNC",
+ "1016": "CODE_CALL_END_CAUSE_CALL_PULL",
+ "1100": "CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE",
+ "1017": "CODE_REJECTED_ELSEWHERE",
+ "1201": "CODE_SUPP_SVC_FAILED",
+ "1202": "CODE_SUPP_SVC_CANCELLED",
+ "1203": "CODE_SUPP_SVC_REINVITE_COLLISION",
+ "1300": "CODE_IWLAN_DPD_FAILURE",
+ "1400": "CODE_EPDG_TUNNEL_ESTABLISH_FAILURE",
+ "1401": "CODE_EPDG_TUNNEL_REKEY_FAILURE",
+ "1402": "CODE_EPDG_TUNNEL_LOST_CONNECTION",
+ "1403": "CODE_MAXIMUM_NUMBER_OF_CALLS_REACHED",
+ "1404": "CODE_REMOTE_CALL_DECLINE",
+ "1405": "CODE_DATA_LIMIT_REACHED",
+ "1406": "CODE_DATA_DISABLED",
+ "1407": "CODE_WIFI_LOST",
+ "1408": "CODE_IKEV2_AUTH_FAILURE",
+ "1500": "CODE_RADIO_OFF",
+ "1501": "CODE_NO_VALID_SIM",
+ "1502": "CODE_RADIO_INTERNAL_ERROR",
+ "1503": "CODE_NETWORK_RESP_TIMEOUT",
+ "1504": "CODE_NETWORK_REJECT",
+ "1505": "CODE_RADIO_ACCESS_FAILURE",
+ "1506": "CODE_RADIO_LINK_FAILURE",
+ "1507": "CODE_RADIO_LINK_LOST",
+ "1508": "CODE_RADIO_UPLINK_FAILURE",
+ "1509": "CODE_RADIO_SETUP_FAILURE",
+ "1510": "CODE_RADIO_RELEASE_NORMAL",
+ "1511": "CODE_RADIO_RELEASE_ABNORMAL",
+ "1512": "CODE_ACCESS_CLASS_BLOCKED",
+ "1513": "CODE_NETWORK_DETACH",
+ "1514": "CODE_SIP_ALTERNATE_EMERGENCY_CALL",
+ "1515": "CODE_UNOBTAINABLE_NUMBER",
+ "1516": "CODE_NO_CSFB_IN_CS_ROAM",
+ "1600": "CODE_REJECT_UNKNOWN",
+ "1601": "CODE_REJECT_ONGOING_CALL_WAITING_DISABLED",
+ "1602": "CODE_REJECT_CALL_ON_OTHER_SUB",
+ "1603": "CODE_REJECT_1X_COLLISION",
+ "1604": "CODE_REJECT_SERVICE_NOT_REGISTERED",
+ "1605": "CODE_REJECT_CALL_TYPE_NOT_ALLOWED",
+ "1606": "CODE_REJECT_ONGOING_E911_CALL",
+ "1607": "CODE_REJECT_ONGOING_CALL_SETUP",
+ "1608": "CODE_REJECT_MAX_CALL_LIMIT_REACHED",
+ "1609": "CODE_REJECT_UNSUPPORTED_SIP_HEADERS",
+ "1610": "CODE_REJECT_UNSUPPORTED_SDP_HEADERS",
+ "1611": "CODE_REJECT_ONGOING_CALL_TRANSFER",
+ "1612": "CODE_REJECT_INTERNAL_ERROR",
+ "1613": "CODE_REJECT_QOS_FAILURE",
+ "1614": "CODE_REJECT_ONGOING_HANDOVER",
+ "1615": "CODE_REJECT_VT_TTY_NOT_ALLOWED",
+ "1616": "CODE_REJECT_ONGOING_CALL_UPGRADE",
+ "1617": "CODE_REJECT_CONFERENCE_TTY_NOT_ALLOWED",
+ "1618": "CODE_REJECT_ONGOING_CONFERENCE_CALL",
+ "1619": "CODE_REJECT_VT_AVPF_NOT_ALLOWED",
+ "1620": "CODE_REJECT_ONGOING_ENCRYPTED_CALL",
+ "1621": "CODE_REJECT_ONGOING_CS_CALL",
+ "3001": "CODE_RETRY_ON_IMS_WITHOUT_RTT",
+ "61441": "CODE_OEM_CAUSE_1",
+ "61442": "CODE_OEM_CAUSE_2",
+ "61443": "CODE_OEM_CAUSE_3",
+ "61444": "CODE_OEM_CAUSE_4",
+ "61445": "CODE_OEM_CAUSE_5",
+ "61446": "CODE_OEM_CAUSE_6",
+ "61447": "CODE_OEM_CAUSE_7",
+ "61448": "CODE_OEM_CAUSE_8",
+ "61449": "CODE_OEM_CAUSE_9",
+ "61450": "CODE_OEM_CAUSE_10",
+ "61451": "CODE_OEM_CAUSE_11",
+ "61452": "CODE_OEM_CAUSE_12",
+ "61453": "CODE_OEM_CAUSE_13",
+ "61454": "CODE_OEM_CAUSE_14",
+ "61455": "CODE_OEM_CAUSE_15"
+ }
+ },
+ "android.telephony.ims.ImsReasonInfo.UtReason": {
+ "flag": false,
+ "values": {
+ "801": "CODE_UT_NOT_SUPPORTED",
+ "802": "CODE_UT_SERVICE_UNAVAILABLE",
+ "803": "CODE_UT_OPERATION_NOT_ALLOWED",
+ "804": "CODE_UT_NETWORK_ERROR",
+ "821": "CODE_UT_CB_PASSWORD_MISMATCH",
+ "822": "CODE_UT_SS_MODIFIED_TO_DIAL",
+ "823": "CODE_UT_SS_MODIFIED_TO_USSD",
+ "824": "CODE_UT_SS_MODIFIED_TO_SS",
+ "825": "CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO"
+ }
+ },
+ "android.telephony.ims.ImsSsData.RequestType": {
+ "flag": true,
+ "values": {
+ "0": "SS_ACTIVATION",
+ "1": "SS_DEACTIVATION",
+ "2": "SS_INTERROGATION",
+ "3": "SS_REGISTRATION",
+ "4": "SS_ERASURE"
+ }
+ },
+ "android.telephony.ims.ImsSsData.ServiceClassFlags": {
+ "flag": true,
+ "values": {
+ "0": "SERVICE_CLASS_NONE",
+ "1": "SERVICE_CLASS_VOICE",
+ "2": "SERVICE_CLASS_DATA",
+ "4": "SERVICE_CLASS_FAX",
+ "8": "SERVICE_CLASS_SMS",
+ "16": "SERVICE_CLASS_DATA_CIRCUIT_SYNC",
+ "32": "SERVICE_CLASS_DATA_CIRCUIT_ASYNC",
+ "64": "SERVICE_CLASS_DATA_PACKET_ACCESS",
+ "128": "SERVICE_CLASS_DATA_PAD"
+ }
+ },
+ "android.telephony.ims.ImsSsData.ServiceType": {
+ "flag": true,
+ "values": {
+ "0": "SS_CFU",
+ "1": "SS_CF_BUSY",
+ "2": "SS_CF_NO_REPLY",
+ "3": "SS_CF_NOT_REACHABLE",
+ "4": "SS_CF_ALL",
+ "5": "SS_CF_ALL_CONDITIONAL",
+ "6": "SS_CFUT",
+ "7": "SS_CLIP",
+ "8": "SS_CLIR",
+ "9": "SS_COLP",
+ "10": "SS_COLR",
+ "11": "SS_CNAP",
+ "12": "SS_WAIT",
+ "13": "SS_BAOC",
+ "14": "SS_BAOIC",
+ "15": "SS_BAOIC_EXC_HOME",
+ "16": "SS_BAIC",
+ "17": "SS_BAIC_ROAMING",
+ "18": "SS_ALL_BARRING",
+ "19": "SS_OUTGOING_BARRING",
+ "20": "SS_INCOMING_BARRING",
+ "21": "SS_INCOMING_BARRING_DN",
+ "22": "SS_INCOMING_BARRING_ANONYMOUS"
+ }
+ },
+ "android.telephony.ims.ImsSsData.TeleserviceType": {
+ "flag": true,
+ "values": {
+ "0": "SS_ALL_TELE_AND_BEARER_SERVICES",
+ "1": "SS_ALL_TELESEVICES",
+ "2": "SS_TELEPHONY",
+ "3": "SS_ALL_DATA_TELESERVICES",
+ "4": "SS_SMS_SERVICES",
+ "5": "SS_ALL_TELESERVICES_EXCEPT_SMS"
+ }
+ },
+ "android.telephony.ims.ImsSsInfo.ClirInterrogationStatus": {
+ "flag": false,
+ "values": {
+ "0": "CLIR_STATUS_NOT_PROVISIONED",
+ "1": "CLIR_STATUS_PROVISIONED_PERMANENT",
+ "2": "CLIR_STATUS_UNKNOWN",
+ "3": "CLIR_STATUS_TEMPORARILY_RESTRICTED",
+ "4": "CLIR_STATUS_TEMPORARILY_ALLOWED"
+ }
+ },
+ "android.telephony.ims.ImsSsInfo.ClirOutgoingState": {
+ "flag": false,
+ "values": {
+ "0": "CLIR_OUTGOING_DEFAULT",
+ "1": "CLIR_OUTGOING_INVOCATION",
+ "2": "CLIR_OUTGOING_SUPPRESSION"
+ }
+ },
+ "android.telephony.ims.ImsSsInfo.ServiceProvisionStatus": {
+ "flag": false,
+ "values": {
+ "-1": "SERVICE_PROVISIONING_UNKNOWN",
+ "0": "SERVICE_NOT_PROVISIONED",
+ "1": "SERVICE_PROVISIONED"
+ }
+ },
+ "android.telephony.ims.ImsSsInfo.ServiceStatus": {
+ "flag": false,
+ "values": {
+ "-1": "NOT_REGISTERED",
+ "0": "DISABLED",
+ "1": "ENABLED"
+ }
+ },
+ "android.telephony.ims.RcsContactUceCapability.CapabilityMechanism": {
+ "flag": false,
+ "values": {
+ "1": "CAPABILITY_MECHANISM_PRESENCE",
+ "2": "CAPABILITY_MECHANISM_OPTIONS"
+ }
+ },
+ "android.telephony.ims.RcsContactUceCapability.RequestResult": {
+ "flag": false,
+ "values": {
+ "0": "REQUEST_RESULT_NOT_ONLINE",
+ "1": "REQUEST_RESULT_NOT_FOUND",
+ "2": "REQUEST_RESULT_FOUND",
+ "3": "REQUEST_RESULT_UNKNOWN"
+ }
+ },
+ "android.telephony.ims.RcsContactUceCapability.SourceType": {
+ "flag": false,
+ "values": {
+ "0": "SOURCE_TYPE_NETWORK",
+ "1": "SOURCE_TYPE_CACHED"
+ }
+ },
+ "android.telephony.ims.RcsUceAdapter.ErrorCode": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_GENERIC_FAILURE",
+ "2": "ERROR_NOT_ENABLED",
+ "3": "ERROR_NOT_AVAILABLE",
+ "4": "ERROR_NOT_REGISTERED",
+ "5": "ERROR_NOT_AUTHORIZED",
+ "6": "ERROR_FORBIDDEN",
+ "7": "ERROR_NOT_FOUND",
+ "8": "ERROR_REQUEST_TOO_LARGE",
+ "10": "ERROR_REQUEST_TIMEOUT",
+ "11": "ERROR_INSUFFICIENT_MEMORY",
+ "12": "ERROR_LOST_NETWORK",
+ "13": "ERROR_SERVER_UNAVAILABLE"
+ }
+ },
+ "android.telephony.ims.RcsUceAdapter.PublishState": {
+ "flag": false,
+ "values": {
+ "1": "PUBLISH_STATE_OK",
+ "2": "PUBLISH_STATE_NOT_PUBLISHED",
+ "3": "PUBLISH_STATE_VOLTE_PROVISION_ERROR",
+ "4": "PUBLISH_STATE_RCS_PROVISION_ERROR",
+ "5": "PUBLISH_STATE_REQUEST_TIMEOUT",
+ "6": "PUBLISH_STATE_OTHER_ERROR"
+ }
+ },
+ "android.telephony.ims.RcsUceAdapter.RcsImsCapabilityFlag": {
+ "flag": false,
+ "values": {
+ "1": "CAPABILITY_TYPE_OPTIONS_UCE",
+ "2": "CAPABILITY_TYPE_PRESENCE_UCE"
+ }
+ },
+ "android.telephony.ims.RcsUceAdapter.StackPublishTriggerType": {
+ "flag": false,
+ "values": {
+ "0": "CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED",
+ "1": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED",
+ "2": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED",
+ "3": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD",
+ "4": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS",
+ "5": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G",
+ "6": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G",
+ "7": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN",
+ "8": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN",
+ "9": "CAPABILITY_UPDATE_TRIGGER_UNKNOWN",
+ "10": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED",
+ "11": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED"
+ }
+ },
+ "android.telephony.ims.RegistrationManager.ImsRegistrationState": {
+ "flag": false,
+ "values": {
+ "0": "REGISTRATION_STATE_NOT_REGISTERED",
+ "1": "REGISTRATION_STATE_REGISTERING",
+ "2": "REGISTRATION_STATE_REGISTERED"
+ }
+ },
+ "android.telephony.ims.SipDelegateManager.DeniedReason": {
+ "flag": false,
+ "values": {
+ "0": "DENIED_REASON_UNKNOWN",
+ "1": "DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE",
+ "2": "DENIED_REASON_NOT_ALLOWED",
+ "3": "DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED",
+ "4": "DENIED_REASON_INVALID"
+ }
+ },
+ "android.telephony.ims.SipDelegateManager.MessageFailureReason": {
+ "flag": false,
+ "values": {
+ "0": "MESSAGE_FAILURE_REASON_UNKNOWN",
+ "1": "MESSAGE_FAILURE_REASON_DELEGATE_DEAD",
+ "2": "MESSAGE_FAILURE_REASON_DELEGATE_CLOSED",
+ "3": "MESSAGE_FAILURE_REASON_INVALID_START_LINE",
+ "4": "MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS",
+ "5": "MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT",
+ "6": "MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG",
+ "7": "MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE",
+ "8": "MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE",
+ "9": "MESSAGE_FAILURE_REASON_NOT_REGISTERED",
+ "10": "MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION",
+ "11": "MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION"
+ }
+ },
+ "android.telephony.ims.SipDelegateManager.SipDelegateDestroyReason": {
+ "flag": false,
+ "values": {
+ "0": "SIP_DELEGATE_DESTROY_REASON_UNKNOWN",
+ "1": "SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD",
+ "2": "SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP",
+ "3": "SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS",
+ "4": "SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN"
+ }
+ },
+ "android.telephony.ims.compat.feature.ImsFeature.ImsState": {
+ "flag": true,
+ "values": {
+ "0": "STATE_NOT_AVAILABLE",
+ "1": "STATE_INITIALIZING",
+ "2": "STATE_READY"
+ }
+ },
+ "android.telephony.ims.feature.ImsFeature.FeatureType": {
+ "flag": true,
+ "values": {
+ "0": "FEATURE_EMERGENCY_MMTEL",
+ "1": "FEATURE_MMTEL",
+ "2": "FEATURE_RCS"
+ }
+ },
+ "android.telephony.ims.feature.ImsFeature.ImsCapabilityError": {
+ "flag": true,
+ "values": {
+ "-1": "CAPABILITY_ERROR_GENERIC",
+ "0": "CAPABILITY_SUCCESS"
+ }
+ },
+ "android.telephony.ims.feature.ImsFeature.ImsState": {
+ "flag": true,
+ "values": {
+ "0": "STATE_UNAVAILABLE",
+ "1": "STATE_INITIALIZING",
+ "2": "STATE_READY"
+ }
+ },
+ "android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability": {
+ "flag": true,
+ "values": {
+ "1": "CAPABILITY_TYPE_VOICE",
+ "2": "CAPABILITY_TYPE_VIDEO",
+ "4": "CAPABILITY_TYPE_UT",
+ "8": "CAPABILITY_TYPE_SMS"
+ }
+ },
+ "android.telephony.ims.feature.MmTelFeature.ProcessCallResult": {
+ "flag": true,
+ "values": {
+ "0": "PROCESS_CALL_IMS",
+ "1": "PROCESS_CALL_CSFB"
+ }
+ },
+ "android.telephony.ims.feature.RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag": {
+ "flag": true,
+ "values": {
+ "0": "CAPABILITY_TYPE_NONE",
+ "1": "CAPABILITY_TYPE_OPTIONS_UCE",
+ "2": "CAPABILITY_TYPE_PRESENCE_UCE"
+ }
+ },
+ "android.telephony.ims.stub.ImsConfigImplBase.SetConfigResult": {
+ "flag": false,
+ "values": {
+ "0": "CONFIG_RESULT_SUCCESS",
+ "1": "CONFIG_RESULT_FAILED"
+ }
+ },
+ "android.telephony.ims.stub.ImsRegistrationImplBase.ImsRegistrationTech": {
+ "flag": true,
+ "values": {
+ "-1": "REGISTRATION_TECH_NONE",
+ "0": "REGISTRATION_TECH_LTE",
+ "1": "REGISTRATION_TECH_IWLAN"
+ }
+ },
+ "android.telephony.ims.stub.ImsSmsImplBase.DeliverStatusResult": {
+ "flag": false,
+ "values": {
+ "1": "DELIVER_STATUS_OK",
+ "2": "DELIVER_STATUS_ERROR_GENERIC",
+ "3": "DELIVER_STATUS_ERROR_NO_MEMORY",
+ "4": "DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED"
+ }
+ },
+ "android.telephony.ims.stub.ImsSmsImplBase.SendStatusResult": {
+ "flag": false,
+ "values": {
+ "1": "SEND_STATUS_OK",
+ "2": "SEND_STATUS_ERROR",
+ "3": "SEND_STATUS_ERROR_RETRY",
+ "4": "SEND_STATUS_ERROR_FALLBACK"
+ }
+ },
+ "android.telephony.ims.stub.ImsSmsImplBase.StatusReportResult": {
+ "flag": false,
+ "values": {
+ "1": "STATUS_REPORT_STATUS_OK",
+ "2": "STATUS_REPORT_STATUS_ERROR"
+ }
+ },
+ "android.telephony.ims.stub.ImsUtImplBase.CallBarringMode": {
+ "flag": false,
+ "values": {
+ "1": "CALL_BARRING_ALL_INCOMING",
+ "2": "CALL_BARRING_ALL_OUTGOING",
+ "3": "CALL_BARRING_OUTGOING_INTL",
+ "4": "CALL_BARRING_OUTGOING_INTL_EXCL_HOME",
+ "5": "CALL_BLOCKING_INCOMING_WHEN_ROAMING",
+ "6": "CALL_BARRING_ANONYMOUS_INCOMING",
+ "7": "CALL_BARRING_ALL",
+ "8": "CALL_BARRING_OUTGOING_ALL_SERVICES",
+ "9": "CALL_BARRING_INCOMING_ALL_SERVICES",
+ "10": "CALL_BARRING_SPECIFIC_INCOMING_CALLS"
+ }
+ },
+ "android.telephony.ims.stub.RcsCapabilityExchange.CommandCode": {
+ "flag": false,
+ "values": {
+ "0": "COMMAND_CODE_SERVICE_UNKNOWN",
+ "1": "COMMAND_CODE_SUCCESS",
+ "2": "COMMAND_CODE_GENERIC_FAILURE",
+ "3": "COMMAND_CODE_INVALID_PARAM",
+ "4": "COMMAND_CODE_FETCH_ERROR",
+ "5": "COMMAND_CODE_REQUEST_TIMEOUT",
+ "6": "COMMAND_CODE_INSUFFICIENT_MEMORY",
+ "7": "COMMAND_CODE_LOST_NETWORK_CONNECTION",
+ "8": "COMMAND_CODE_NOT_SUPPORTED",
+ "9": "COMMAND_CODE_NOT_FOUND",
+ "10": "COMMAND_CODE_SERVICE_UNAVAILABLE",
+ "11": "COMMAND_CODE_NO_CHANGE_IN_CAP"
+ }
+ },
+ "android.telephony.ims.stub.RcsCapabilityExchangeImplBase.CommandCode": {
+ "flag": false,
+ "values": {
+ "0": "COMMAND_CODE_SERVICE_UNKNOWN",
+ "1": "COMMAND_CODE_GENERIC_FAILURE",
+ "2": "COMMAND_CODE_INVALID_PARAM",
+ "3": "COMMAND_CODE_FETCH_ERROR",
+ "4": "COMMAND_CODE_REQUEST_TIMEOUT",
+ "5": "COMMAND_CODE_INSUFFICIENT_MEMORY",
+ "6": "COMMAND_CODE_LOST_NETWORK_CONNECTION",
+ "7": "COMMAND_CODE_NOT_SUPPORTED",
+ "8": "COMMAND_CODE_NOT_FOUND",
+ "9": "COMMAND_CODE_SERVICE_UNAVAILABLE",
+ "10": "COMMAND_CODE_NO_CHANGE"
+ }
+ },
+ "android.telephony.ims.stub.RcsPresenceExchangeImplBase.PresenceResponseCode": {
+ "flag": false,
+ "values": {
+ "-1": "RESPONSE_SUBSCRIBE_GENERIC_FAILURE",
+ "0": "RESPONSE_SUCCESS",
+ "1": "RESPONSE_NOT_REGISTERED",
+ "2": "RESPONSE_NOT_AUTHORIZED_FOR_PRESENCE",
+ "3": "RESPONSE_FORBIDDEN",
+ "4": "RESPONSE_NOT_FOUND",
+ "5": "RESPONSE_SIP_REQUEST_TIMEOUT",
+ "6": "RESPONSE_SUBSCRIBE_TOO_LARGE",
+ "7": "RESPONSE_SIP_INTERVAL_TOO_SHORT",
+ "8": "RESPONSE_SIP_SERVICE_UNAVAILABLE"
+ }
+ },
+ "android.telephony.ims.stub.RcsPresenceExchangeImplBase.StackPublishTriggerType": {
+ "flag": false,
+ "values": {
+ "0": "CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED",
+ "1": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED",
+ "2": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED",
+ "3": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD",
+ "4": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS",
+ "5": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G",
+ "6": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G",
+ "7": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN",
+ "8": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN",
+ "9": "CAPABILITY_UPDATE_TRIGGER_UNKNOWN",
+ "10": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED",
+ "11": "CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED"
+ }
+ },
+ "android.telephony.ims.stub.RcsSipOptionsImplBase.SipResponseCode": {
+ "flag": false,
+ "values": {
+ "-1": "RESPONSE_GENERIC_FAILURE",
+ "0": "RESPONSE_SUCCESS",
+ "1": "RESPONSE_TEMPORARILY_UNAVAILABLE",
+ "2": "RESPONSE_REQUEST_TIMEOUT",
+ "3": "RESPONSE_NOT_FOUND",
+ "4": "RESPONSE_DOES_NOT_EXIST_ANYWHERE",
+ "5": "RESPONSE_BAD_REQUEST"
+ }
+ },
+ "android.telephony.mbms.GroupCall.GroupCallState": {
+ "flag": false,
+ "values": {
+ "1": "STATE_STOPPED",
+ "2": "STATE_STARTED",
+ "3": "STATE_STALLED"
+ }
+ },
+ "android.telephony.mbms.GroupCall.GroupCallStateChangeReason": {
+ "flag": false,
+ "values": {
+ "1": "REASON_BY_USER_REQUEST",
+ "3": "REASON_FREQUENCY_CONFLICT",
+ "4": "REASON_OUT_OF_MEMORY",
+ "5": "REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE",
+ "6": "REASON_LEFT_MBMS_BROADCAST_AREA",
+ "0": "REASON_NONE"
+ }
+ },
+ "android.telephony.mbms.GroupCallCallback.GroupCallError": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_NO_UNIQUE_MIDDLEWARE",
+ "3": "ERROR_MIDDLEWARE_LOST",
+ "2": "ERROR_MIDDLEWARE_NOT_BOUND",
+ "201": "ERROR_MIDDLEWARE_NOT_YET_READY",
+ "202": "ERROR_OUT_OF_MEMORY",
+ "203": "ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE",
+ "204": "ERROR_IN_E911",
+ "205": "ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE",
+ "206": "ERROR_UNABLE_TO_READ_SIM",
+ "207": "ERROR_CARRIER_CHANGE_NOT_ALLOWED"
+ }
+ },
+ "android.telephony.mbms.MbmsDownloadSessionCallback.DownloadError": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_NO_UNIQUE_MIDDLEWARE",
+ "3": "ERROR_MIDDLEWARE_LOST",
+ "2": "ERROR_MIDDLEWARE_NOT_BOUND",
+ "102": "ERROR_APP_PERMISSIONS_NOT_GRANTED",
+ "101": "ERROR_DUPLICATE_INITIALIZE",
+ "103": "ERROR_UNABLE_TO_INITIALIZE",
+ "201": "ERROR_MIDDLEWARE_NOT_YET_READY",
+ "202": "ERROR_OUT_OF_MEMORY",
+ "203": "ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE",
+ "204": "ERROR_IN_E911",
+ "205": "ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE",
+ "206": "ERROR_UNABLE_TO_READ_SIM",
+ "207": "ERROR_CARRIER_CHANGE_NOT_ALLOWED",
+ "401": "ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT",
+ "402": "ERROR_UNKNOWN_DOWNLOAD_REQUEST",
+ "403": "ERROR_UNKNOWN_FILE_INFO"
+ }
+ },
+ "android.telephony.mbms.MbmsErrors.MbmsError": {
+ "flag": false,
+ "values": {
+ "0": "SUCCESS",
+ "1": "ERROR_NO_UNIQUE_MIDDLEWARE",
+ "2": "ERROR_MIDDLEWARE_NOT_BOUND",
+ "3": "ERROR_MIDDLEWARE_LOST",
+ "101": "ERROR_DUPLICATE_INITIALIZE",
+ "102": "ERROR_APP_PERMISSIONS_NOT_GRANTED",
+ "103": "ERROR_UNABLE_TO_INITIALIZE",
+ "201": "ERROR_MIDDLEWARE_NOT_YET_READY",
+ "202": "ERROR_OUT_OF_MEMORY",
+ "203": "ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE",
+ "204": "ERROR_IN_E911",
+ "205": "ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE",
+ "206": "ERROR_UNABLE_TO_READ_SIM",
+ "207": "ERROR_CARRIER_CHANGE_NOT_ALLOWED",
+ "301": "ERROR_CONCURRENT_SERVICE_LIMIT_REACHED",
+ "302": "ERROR_UNABLE_TO_START_SERVICE",
+ "303": "ERROR_DUPLICATE_START_STREAM",
+ "401": "ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT",
+ "402": "ERROR_UNKNOWN_DOWNLOAD_REQUEST",
+ "403": "ERROR_UNKNOWN_FILE_INFO",
+ "404": "ERROR_MALFORMED_SERVICE_ANNOUNCEMENT",
+ "501": "ERROR_UNABLE_TO_START_SERVICE",
+ "502": "ERROR_DUPLICATE_START_GROUP_CALL"
+ }
+ },
+ "android.telephony.mbms.MbmsGroupCallSessionCallback.GroupCallError": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_NO_UNIQUE_MIDDLEWARE",
+ "3": "ERROR_MIDDLEWARE_LOST",
+ "2": "ERROR_MIDDLEWARE_NOT_BOUND",
+ "102": "ERROR_APP_PERMISSIONS_NOT_GRANTED",
+ "101": "ERROR_DUPLICATE_INITIALIZE",
+ "103": "ERROR_UNABLE_TO_INITIALIZE",
+ "201": "ERROR_MIDDLEWARE_NOT_YET_READY",
+ "202": "ERROR_OUT_OF_MEMORY",
+ "203": "ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE",
+ "204": "ERROR_IN_E911",
+ "205": "ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE",
+ "206": "ERROR_UNABLE_TO_READ_SIM",
+ "207": "ERROR_CARRIER_CHANGE_NOT_ALLOWED"
+ }
+ },
+ "android.telephony.mbms.MbmsStreamingSessionCallback.StreamingError": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_NO_UNIQUE_MIDDLEWARE",
+ "3": "ERROR_MIDDLEWARE_LOST",
+ "2": "ERROR_MIDDLEWARE_NOT_BOUND",
+ "102": "ERROR_APP_PERMISSIONS_NOT_GRANTED",
+ "101": "ERROR_DUPLICATE_INITIALIZE",
+ "103": "ERROR_UNABLE_TO_INITIALIZE",
+ "201": "ERROR_MIDDLEWARE_NOT_YET_READY",
+ "202": "ERROR_OUT_OF_MEMORY",
+ "203": "ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE",
+ "204": "ERROR_IN_E911",
+ "205": "ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE",
+ "206": "ERROR_UNABLE_TO_READ_SIM",
+ "207": "ERROR_CARRIER_CHANGE_NOT_ALLOWED",
+ "301": "ERROR_CONCURRENT_SERVICE_LIMIT_REACHED",
+ "302": "ERROR_UNABLE_TO_START_SERVICE",
+ "303": "ERROR_DUPLICATE_START_STREAM"
+ }
+ },
+ "android.telephony.mbms.StreamingService.StreamingState": {
+ "flag": false,
+ "values": {
+ "1": "STATE_STOPPED",
+ "2": "STATE_STARTED",
+ "3": "STATE_STALLED"
+ }
+ },
+ "android.telephony.mbms.StreamingService.StreamingStateChangeReason": {
+ "flag": false,
+ "values": {
+ "1": "REASON_BY_USER_REQUEST",
+ "2": "REASON_END_OF_SESSION",
+ "3": "REASON_FREQUENCY_CONFLICT",
+ "4": "REASON_OUT_OF_MEMORY",
+ "5": "REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE",
+ "6": "REASON_LEFT_MBMS_BROADCAST_AREA",
+ "0": "REASON_NONE"
+ }
+ },
+ "android.telephony.mbms.StreamingServiceCallback.StreamingServiceError": {
+ "flag": false,
+ "values": {
+ "1": "ERROR_NO_UNIQUE_MIDDLEWARE",
+ "3": "ERROR_MIDDLEWARE_LOST",
+ "2": "ERROR_MIDDLEWARE_NOT_BOUND",
+ "201": "ERROR_MIDDLEWARE_NOT_YET_READY",
+ "202": "ERROR_OUT_OF_MEMORY",
+ "203": "ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE",
+ "204": "ERROR_IN_E911",
+ "205": "ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE",
+ "206": "ERROR_UNABLE_TO_READ_SIM",
+ "207": "ERROR_CARRIER_CHANGE_NOT_ALLOWED",
+ "301": "ERROR_CONCURRENT_SERVICE_LIMIT_REACHED",
+ "302": "ERROR_UNABLE_TO_START_SERVICE",
+ "303": "ERROR_DUPLICATE_START_STREAM"
+ }
+ },
+ "android.text.FontConfig.Family.Variant": {
+ "flag": false,
+ "values": {
+ "0": "VARIANT_DEFAULT",
+ "1": "VARIANT_COMPACT",
+ "2": "VARIANT_ELEGANT"
+ }
+ },
+ "android.text.Layout.BreakStrategy": {
+ "flag": false,
+ "values": {
+ "0": "BREAK_STRATEGY_SIMPLE",
+ "1": "BREAK_STRATEGY_HIGH_QUALITY",
+ "2": "BREAK_STRATEGY_BALANCED"
+ }
+ },
+ "android.text.Layout.Direction": {
+ "flag": false,
+ "values": {
+ "1": "DIR_LEFT_TO_RIGHT",
+ "-1": "DIR_RIGHT_TO_LEFT"
+ }
+ },
+ "android.text.Layout.HyphenationFrequency": {
+ "flag": false,
+ "values": {
+ "1": "HYPHENATION_FREQUENCY_NORMAL",
+ "2": "HYPHENATION_FREQUENCY_FULL",
+ "0": "HYPHENATION_FREQUENCY_NONE"
+ }
+ },
+ "android.text.Layout.JustificationMode": {
+ "flag": false,
+ "values": {
+ "0": "JUSTIFICATION_MODE_NONE",
+ "1": "JUSTIFICATION_MODE_INTER_WORD"
+ }
+ },
+ "android.text.Layout.TextSelectionLayout": {
+ "flag": false,
+ "values": {
+ "0": "TEXT_SELECTION_LAYOUT_RIGHT_TO_LEFT",
+ "1": "TEXT_SELECTION_LAYOUT_LEFT_TO_RIGHT"
+ }
+ },
+ "android.text.PrecomputedText.Params.CheckResultUsableResult": {
+ "flag": false,
+ "values": {
+ "0": "UNUSABLE",
+ "1": "NEED_RECOMPUTE",
+ "2": "USABLE"
+ }
+ },
+ "android.text.TextUtils.SafeStringFlags": {
+ "flag": true,
+ "values": {
+ "1": "SAFE_STRING_FLAG_TRIM",
+ "2": "SAFE_STRING_FLAG_SINGLE_LINE",
+ "4": "SAFE_STRING_FLAG_FIRST_LINE"
+ }
+ },
+ "android.text.style.DynamicDrawableSpan.AlignmentType": {
+ "flag": false,
+ "values": {
+ "0": "ALIGN_BOTTOM",
+ "1": "ALIGN_BASELINE",
+ "2": "ALIGN_CENTER"
+ }
+ },
+ "android.text.util.Linkify.LinkifyMask": {
+ "flag": true,
+ "values": {
+ "1": "WEB_URLS",
+ "2": "EMAIL_ADDRESSES",
+ "4": "PHONE_NUMBERS",
+ "8": "MAP_ADDRESSES",
+ "15": "ALL"
+ }
+ },
+ "android.transition.Slide.GravityFlag": {
+ "flag": false,
+ "values": {
+ "3": "LEFT",
+ "48": "TOP",
+ "5": "RIGHT",
+ "80": "BOTTOM",
+ "8388611": "START",
+ "8388613": "END"
+ }
+ },
+ "android.transition.Visibility.VisibilityMode": {
+ "flag": true,
+ "values": {
+ "1": "IN",
+ "2": "OUT"
+ }
+ },
+ "android.util.Log.Level": {
+ "flag": false,
+ "values": {
+ "7": "ASSERT",
+ "6": "ERROR",
+ "5": "WARN",
+ "4": "INFO",
+ "3": "DEBUG",
+ "2": "VERBOSE"
+ }
+ },
+ "android.util.proto.ProtoStream.WireType": {
+ "flag": false,
+ "values": {
+ "0": "WIRE_TYPE_VARINT",
+ "1": "WIRE_TYPE_FIXED64",
+ "2": "WIRE_TYPE_LENGTH_DELIMITED",
+ "3": "WIRE_TYPE_START_GROUP",
+ "4": "WIRE_TYPE_END_GROUP",
+ "5": "WIRE_TYPE_FIXED32"
+ }
+ },
+ "android.uwb.RangingMeasurement.Status": {
+ "flag": false,
+ "values": {
+ "0": "RANGING_STATUS_SUCCESS",
+ "1": "RANGING_STATUS_FAILURE_OUT_OF_RANGE",
+ "-1": "RANGING_STATUS_FAILURE_UNKNOWN_ERROR"
+ }
+ },
+ "android.uwb.RangingSession.Callback.CloseReason": {
+ "flag": false,
+ "values": {
+ "0": "CLOSE_REASON_UNKNOWN",
+ "1": "CLOSE_REASON_LOCAL_CLOSE_API",
+ "2": "CLOSE_REASON_LOCAL_BAD_PARAMETERS",
+ "3": "CLOSE_REASON_LOCAL_GENERIC_ERROR",
+ "4": "CLOSE_REASON_LOCAL_MAX_SESSIONS_REACHED",
+ "5": "CLOSE_REASON_LOCAL_SYSTEM_POLICY",
+ "6": "CLOSE_REASON_REMOTE_GENERIC_ERROR",
+ "7": "CLOSE_REASON_REMOTE_REQUEST"
+ }
+ },
+ "android.uwb.UwbManager.AdapterStateCallback.StateChangedReason": {
+ "flag": false,
+ "values": {
+ "0": "STATE_CHANGED_REASON_SESSION_STARTED",
+ "1": "STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED",
+ "2": "STATE_CHANGED_REASON_SYSTEM_POLICY",
+ "3": "STATE_CHANGED_REASON_SYSTEM_BOOT",
+ "4": "STATE_CHANGED_REASON_ERROR_UNKNOWN"
+ }
+ },
+ "android.uwb.UwbManager.AngleOfArrivalSupportType": {
+ "flag": false,
+ "values": {
+ "1": "ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE",
+ "2": "ANGLE_OF_ARRIVAL_SUPPORT_TYPE_2D",
+ "3": "ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_HEMISPHERICAL",
+ "4": "ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_SPHERICAL"
+ }
+ },
+ "android.view.Display.ColorMode": {
+ "flag": false,
+ "values": {
+ "-1": "COLOR_MODE_INVALID",
+ "0": "COLOR_MODE_DEFAULT",
+ "1": "COLOR_MODE_BT601_625",
+ "2": "COLOR_MODE_BT601_625_UNADJUSTED",
+ "3": "COLOR_MODE_BT601_525",
+ "4": "COLOR_MODE_BT601_525_UNADJUSTED",
+ "5": "COLOR_MODE_BT709",
+ "6": "COLOR_MODE_DCI_P3",
+ "7": "COLOR_MODE_SRGB",
+ "8": "COLOR_MODE_ADOBE_RGB",
+ "9": "COLOR_MODE_DISPLAY_P3"
+ }
+ },
+ "android.view.Display.HdrCapabilities.HdrType": {
+ "flag": false,
+ "values": {
+ "1": "HDR_TYPE_DOLBY_VISION",
+ "2": "HDR_TYPE_HDR10",
+ "3": "HDR_TYPE_HLG",
+ "4": "HDR_TYPE_HDR10_PLUS"
+ }
+ },
+ "android.view.DisplayCutout.BoundsPosition": {
+ "flag": false,
+ "values": {
+ "0": "BOUNDS_POSITION_LEFT",
+ "1": "BOUNDS_POSITION_TOP",
+ "2": "BOUNDS_POSITION_RIGHT",
+ "3": "BOUNDS_POSITION_BOTTOM"
+ }
+ },
+ "android.view.FrameMetrics.Index": {
+ "flag": false,
+ "values": {
+ "0": "FLAGS",
+ "1": "FRAME_TIMELINE_VSYNC_ID",
+ "2": "INTENDED_VSYNC",
+ "3": "VSYNC",
+ "4": "OLDEST_INPUT_EVENT",
+ "5": "NEWEST_INPUT_EVENT",
+ "6": "HANDLE_INPUT_START",
+ "7": "ANIMATION_START",
+ "8": "PERFORM_TRAVERSALS_START",
+ "9": "DRAW_START",
+ "10": "FRAME_DEADLINE",
+ "11": "SYNC_QUEUED",
+ "12": "SYNC_START",
+ "13": "ISSUE_DRAW_COMMANDS_START",
+ "14": "SWAP_BUFFERS",
+ "15": "FRAME_COMPLETED"
+ }
+ },
+ "android.view.FrameMetrics.Metric": {
+ "flag": false,
+ "values": {
+ "0": "UNKNOWN_DELAY_DURATION",
+ "1": "INPUT_HANDLING_DURATION",
+ "2": "ANIMATION_DURATION",
+ "3": "LAYOUT_MEASURE_DURATION",
+ "4": "DRAW_DURATION",
+ "5": "SYNC_DURATION",
+ "6": "COMMAND_ISSUE_DURATION",
+ "7": "SWAP_BUFFERS_DURATION",
+ "8": "TOTAL_DURATION",
+ "9": "FIRST_DRAW_FRAME",
+ "10": "INTENDED_VSYNC_TIMESTAMP",
+ "11": "VSYNC_TIMESTAMP"
+ }
+ },
+ "android.view.Gravity.GravityFlags": {
+ "flag": true,
+ "values": {
+ "119": "FILL",
+ "7": "FILL_HORIZONTAL",
+ "112": "FILL_VERTICAL",
+ "8388611": "START",
+ "8388613": "END",
+ "3": "LEFT",
+ "5": "RIGHT",
+ "48": "TOP",
+ "80": "BOTTOM",
+ "17": "CENTER",
+ "1": "CENTER_HORIZONTAL",
+ "16": "CENTER_VERTICAL",
+ "16777216": "DISPLAY_CLIP_HORIZONTAL",
+ "268435456": "DISPLAY_CLIP_VERTICAL",
+ "8": "CLIP_HORIZONTAL",
+ "128": "CLIP_VERTICAL",
+ "0": "NO_GRAVITY"
+ }
+ },
+ "android.view.InputDevice.InputSourceClass": {
+ "flag": true,
+ "values": {
+ "0": "SOURCE_CLASS_NONE",
+ "1": "SOURCE_CLASS_BUTTON",
+ "2": "SOURCE_CLASS_POINTER",
+ "4": "SOURCE_CLASS_TRACKBALL",
+ "8": "SOURCE_CLASS_POSITION",
+ "16": "SOURCE_CLASS_JOYSTICK"
+ }
+ },
+ "android.view.InsetsController.AnimationType": {
+ "flag": false,
+ "values": {
+ "-1": "ANIMATION_TYPE_NONE",
+ "0": "ANIMATION_TYPE_SHOW",
+ "1": "ANIMATION_TYPE_HIDE",
+ "2": "ANIMATION_TYPE_USER"
+ }
+ },
+ "android.view.InsetsController.LayoutInsetsDuringAnimation": {
+ "flag": false,
+ "values": {
+ "0": "LAYOUT_INSETS_DURING_ANIMATION_SHOWN",
+ "1": "LAYOUT_INSETS_DURING_ANIMATION_HIDDEN"
+ }
+ },
+ "android.view.InsetsSourceConsumer.ShowResult": {
+ "flag": false,
+ "values": {
+ "0": "SHOW_IMMEDIATELY",
+ "1": "IME_SHOW_DELAYED",
+ "2": "IME_SHOW_FAILED"
+ }
+ },
+ "android.view.InsetsState.InternalInsetsSide": {
+ "flag": false,
+ "values": {
+ "0": "ISIDE_LEFT",
+ "1": "ISIDE_TOP",
+ "2": "ISIDE_RIGHT",
+ "3": "ISIDE_BOTTOM",
+ "4": "ISIDE_FLOATING",
+ "5": "ISIDE_UNKNOWN"
+ }
+ },
+ "android.view.InsetsState.InternalInsetsType": {
+ "flag": false,
+ "values": {
+ "0": "ITYPE_STATUS_BAR",
+ "1": "ITYPE_NAVIGATION_BAR",
+ "2": "ITYPE_CAPTION_BAR",
+ "3": "ITYPE_TOP_GESTURES",
+ "4": "ITYPE_BOTTOM_GESTURES",
+ "5": "ITYPE_LEFT_GESTURES",
+ "6": "ITYPE_RIGHT_GESTURES",
+ "7": "ITYPE_TOP_MANDATORY_GESTURES",
+ "8": "ITYPE_BOTTOM_MANDATORY_GESTURES",
+ "9": "ITYPE_LEFT_MANDATORY_GESTURES",
+ "10": "ITYPE_RIGHT_MANDATORY_GESTURES",
+ "11": "ITYPE_TOP_TAPPABLE_ELEMENT",
+ "12": "ITYPE_BOTTOM_TAPPABLE_ELEMENT",
+ "13": "ITYPE_LEFT_DISPLAY_CUTOUT",
+ "14": "ITYPE_TOP_DISPLAY_CUTOUT",
+ "15": "ITYPE_RIGHT_DISPLAY_CUTOUT",
+ "16": "ITYPE_BOTTOM_DISPLAY_CUTOUT",
+ "17": "ITYPE_IME",
+ "18": "ITYPE_CLIMATE_BAR",
+ "19": "ITYPE_EXTRA_NAVIGATION_BAR"
+ }
+ },
+ "android.view.MotionEvent.Classification": {
+ "flag": false,
+ "values": {
+ "0": "CLASSIFICATION_NONE",
+ "1": "CLASSIFICATION_AMBIGUOUS_GESTURE",
+ "2": "CLASSIFICATION_DEEP_PRESS"
+ }
+ },
+ "android.view.OnReceiveContentListener.Payload.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_CONVERT_TO_PLAIN_TEXT"
+ }
+ },
+ "android.view.OnReceiveContentListener.Payload.Source": {
+ "flag": false,
+ "values": {
+ "0": "SOURCE_APP",
+ "1": "SOURCE_CLIPBOARD",
+ "2": "SOURCE_INPUT_METHOD",
+ "3": "SOURCE_DRAG_AND_DROP",
+ "4": "SOURCE_AUTOFILL",
+ "5": "SOURCE_PROCESS_TEXT"
+ }
+ },
+ "android.view.PixelCopy.CopyResultStatus": {
+ "flag": false,
+ "values": {
+ "0": "SUCCESS",
+ "1": "ERROR_UNKNOWN",
+ "2": "ERROR_TIMEOUT",
+ "3": "ERROR_SOURCE_NO_DATA",
+ "4": "ERROR_SOURCE_INVALID",
+ "5": "ERROR_DESTINATION_INVALID"
+ }
+ },
+ "android.view.RemoteAnimationTarget.Mode": {
+ "flag": false,
+ "values": {
+ "0": "MODE_OPENING",
+ "1": "MODE_CLOSING",
+ "2": "MODE_CHANGING"
+ }
+ },
+ "android.view.Surface.FrameRateCompatibility": {
+ "flag": false,
+ "values": {
+ "0": "FRAME_RATE_COMPATIBILITY_DEFAULT",
+ "1": "FRAME_RATE_COMPATIBILITY_FIXED_SOURCE"
+ }
+ },
+ "android.view.Surface.Rotation": {
+ "flag": false,
+ "values": {
+ "0": "ROTATION_0",
+ "1": "ROTATION_90",
+ "2": "ROTATION_180",
+ "3": "ROTATION_270"
+ }
+ },
+ "android.view.Surface.ScalingMode": {
+ "flag": false,
+ "values": {
+ "0": "SCALING_MODE_FREEZE",
+ "1": "SCALING_MODE_SCALE_TO_WINDOW",
+ "2": "SCALING_MODE_SCALE_CROP",
+ "3": "SCALING_MODE_NO_SCALE_CROP"
+ }
+ },
+ "android.view.VelocityTracker.VelocityTrackerStrategy": {
+ "flag": false,
+ "values": {
+ "-1": "VELOCITY_TRACKER_STRATEGY_DEFAULT",
+ "0": "VELOCITY_TRACKER_STRATEGY_IMPULSE",
+ "1": "VELOCITY_TRACKER_STRATEGY_LSQ1",
+ "2": "VELOCITY_TRACKER_STRATEGY_LSQ2",
+ "3": "VELOCITY_TRACKER_STRATEGY_LSQ3",
+ "4": "VELOCITY_TRACKER_STRATEGY_WLSQ2_DELTA",
+ "5": "VELOCITY_TRACKER_STRATEGY_WLSQ2_CENTRAL",
+ "6": "VELOCITY_TRACKER_STRATEGY_WLSQ2_RECENT",
+ "7": "VELOCITY_TRACKER_STRATEGY_INT1",
+ "8": "VELOCITY_TRACKER_STRATEGY_INT2",
+ "9": "VELOCITY_TRACKER_STRATEGY_LEGACY"
+ }
+ },
+ "android.view.VerifiedInputEvent.VerifiedInputEventType": {
+ "flag": false,
+ "values": {
+ "1": "VERIFIED_KEY",
+ "2": "VERIFIED_MOTION"
+ }
+ },
+ "android.view.VerifiedKeyEvent.KeyEventAction": {
+ "flag": false,
+ "values": {
+ "0": "ACTION_DOWN",
+ "1": "ACTION_UP"
+ }
+ },
+ "android.view.VerifiedMotionEvent.MotionEventAction": {
+ "flag": false,
+ "values": {
+ "0": "ACTION_DOWN",
+ "5": "ACTION_POINTER_DOWN",
+ "3": "ACTION_CANCEL",
+ "6": "ACTION_POINTER_UP",
+ "1": "ACTION_UP"
+ }
+ },
+ "android.view.View.AutofillFlags": {
+ "flag": true,
+ "values": {
+ "1": "AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS"
+ }
+ },
+ "android.view.View.AutofillImportance": {
+ "flag": false,
+ "values": {
+ "0": "IMPORTANT_FOR_AUTOFILL_AUTO",
+ "1": "IMPORTANT_FOR_AUTOFILL_YES",
+ "2": "IMPORTANT_FOR_AUTOFILL_NO",
+ "4": "IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS",
+ "8": "IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS"
+ }
+ },
+ "android.view.View.AutofillType": {
+ "flag": false,
+ "values": {
+ "0": "AUTOFILL_TYPE_NONE",
+ "1": "AUTOFILL_TYPE_TEXT",
+ "2": "AUTOFILL_TYPE_TOGGLE",
+ "3": "AUTOFILL_TYPE_LIST",
+ "4": "AUTOFILL_TYPE_DATE",
+ "5": "AUTOFILL_TYPE_RICH_CONTENT"
+ }
+ },
+ "android.view.View.ContentCaptureImportance": {
+ "flag": false,
+ "values": {
+ "0": "IMPORTANT_FOR_CONTENT_CAPTURE_AUTO",
+ "1": "IMPORTANT_FOR_CONTENT_CAPTURE_YES",
+ "2": "IMPORTANT_FOR_CONTENT_CAPTURE_NO",
+ "4": "IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS",
+ "8": "IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS"
+ }
+ },
+ "android.view.View.DrawingCacheQuality": {
+ "flag": false,
+ "values": {
+ "524288": "DRAWING_CACHE_QUALITY_LOW",
+ "1048576": "DRAWING_CACHE_QUALITY_HIGH",
+ "0": "DRAWING_CACHE_QUALITY_AUTO"
+ }
+ },
+ "android.view.View.FindViewFlags": {
+ "flag": true,
+ "values": {
+ "1": "FIND_VIEWS_WITH_TEXT",
+ "2": "FIND_VIEWS_WITH_CONTENT_DESCRIPTION"
+ }
+ },
+ "android.view.View.FocusDirection": {
+ "flag": false,
+ "values": {
+ "1": "FOCUS_BACKWARD",
+ "2": "FOCUS_FORWARD",
+ "17": "FOCUS_LEFT",
+ "33": "FOCUS_UP",
+ "66": "FOCUS_RIGHT",
+ "130": "FOCUS_DOWN"
+ }
+ },
+ "android.view.View.FocusRealDirection": {
+ "flag": false,
+ "values": {
+ "17": "FOCUS_LEFT",
+ "33": "FOCUS_UP",
+ "66": "FOCUS_RIGHT",
+ "130": "FOCUS_DOWN"
+ }
+ },
+ "android.view.View.Focusable": {
+ "flag": false,
+ "values": {
+ "0": "NOT_FOCUSABLE",
+ "1": "FOCUSABLE",
+ "16": "FOCUSABLE_AUTO"
+ }
+ },
+ "android.view.View.FocusableMode": {
+ "flag": true,
+ "values": {
+ "0": "FOCUSABLES_ALL",
+ "1": "FOCUSABLES_TOUCH_MODE"
+ }
+ },
+ "android.view.View.LayerType": {
+ "flag": false,
+ "values": {
+ "0": "LAYER_TYPE_NONE",
+ "1": "LAYER_TYPE_SOFTWARE",
+ "2": "LAYER_TYPE_HARDWARE"
+ }
+ },
+ "android.view.View.LayoutDir": {
+ "flag": false,
+ "values": {
+ "0": "LAYOUT_DIRECTION_LTR",
+ "1": "LAYOUT_DIRECTION_RTL",
+ "2": "LAYOUT_DIRECTION_INHERIT",
+ "3": "LAYOUT_DIRECTION_LOCALE"
+ }
+ },
+ "android.view.View.MeasureSpec.MeasureSpecMode": {
+ "flag": false,
+ "values": {
+ "0": "UNSPECIFIED",
+ "1073741824": "EXACTLY",
+ "-2147483648": "AT_MOST"
+ }
+ },
+ "android.view.View.ResolvedLayoutDir": {
+ "flag": false,
+ "values": {
+ "0": "LAYOUT_DIRECTION_LTR",
+ "1": "LAYOUT_DIRECTION_RTL"
+ }
+ },
+ "android.view.View.ScrollBarStyle": {
+ "flag": false,
+ "values": {
+ "0": "SCROLLBARS_INSIDE_OVERLAY",
+ "16777216": "SCROLLBARS_INSIDE_INSET",
+ "33554432": "SCROLLBARS_OUTSIDE_OVERLAY",
+ "50331648": "SCROLLBARS_OUTSIDE_INSET"
+ }
+ },
+ "android.view.View.ScrollCaptureHint": {
+ "flag": true,
+ "values": {
+ "0": "SCROLL_CAPTURE_HINT_AUTO",
+ "1": "SCROLL_CAPTURE_HINT_EXCLUDE",
+ "2": "SCROLL_CAPTURE_HINT_INCLUDE",
+ "4": "SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS"
+ }
+ },
+ "android.view.View.ScrollIndicators": {
+ "flag": true,
+ "values": {
+ "1": "SCROLL_INDICATOR_TOP",
+ "2": "SCROLL_INDICATOR_BOTTOM",
+ "4": "SCROLL_INDICATOR_LEFT",
+ "8": "SCROLL_INDICATOR_RIGHT",
+ "16": "SCROLL_INDICATOR_START",
+ "32": "SCROLL_INDICATOR_END"
+ }
+ },
+ "android.view.View.SystemUiVisibility": {
+ "flag": true,
+ "values": {
+ "1": "SYSTEM_UI_FLAG_LOW_PROFILE",
+ "2": "SYSTEM_UI_FLAG_HIDE_NAVIGATION",
+ "4": "SYSTEM_UI_FLAG_FULLSCREEN",
+ "256": "SYSTEM_UI_FLAG_LAYOUT_STABLE",
+ "512": "SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION",
+ "1024": "SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN",
+ "2048": "SYSTEM_UI_FLAG_IMMERSIVE",
+ "4096": "SYSTEM_UI_FLAG_IMMERSIVE_STICKY",
+ "8192": "SYSTEM_UI_FLAG_LIGHT_STATUS_BAR",
+ "16": "SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR",
+ "65536": "STATUS_BAR_DISABLE_EXPAND",
+ "131072": "STATUS_BAR_DISABLE_NOTIFICATION_ICONS",
+ "262144": "STATUS_BAR_DISABLE_NOTIFICATION_ALERTS",
+ "524288": "STATUS_BAR_DISABLE_NOTIFICATION_TICKER",
+ "1048576": "STATUS_BAR_DISABLE_SYSTEM_INFO",
+ "2097152": "STATUS_BAR_DISABLE_HOME",
+ "4194304": "STATUS_BAR_DISABLE_BACK",
+ "8388608": "STATUS_BAR_DISABLE_CLOCK",
+ "16777216": "STATUS_BAR_DISABLE_RECENT",
+ "33554432": "STATUS_BAR_DISABLE_SEARCH"
+ }
+ },
+ "android.view.View.TextAlignment": {
+ "flag": false,
+ "values": {
+ "0": "TEXT_ALIGNMENT_INHERIT",
+ "1": "TEXT_ALIGNMENT_GRAVITY",
+ "4": "TEXT_ALIGNMENT_CENTER",
+ "2": "TEXT_ALIGNMENT_TEXT_START",
+ "3": "TEXT_ALIGNMENT_TEXT_END",
+ "5": "TEXT_ALIGNMENT_VIEW_START",
+ "6": "TEXT_ALIGNMENT_VIEW_END"
+ }
+ },
+ "android.view.View.ViewStructureType": {
+ "flag": true,
+ "values": {
+ "0": "VIEW_STRUCTURE_FOR_ASSIST",
+ "1": "VIEW_STRUCTURE_FOR_AUTOFILL",
+ "2": "VIEW_STRUCTURE_FOR_CONTENT_CAPTURE"
+ }
+ },
+ "android.view.View.Visibility": {
+ "flag": false,
+ "values": {
+ "0": "VISIBLE",
+ "4": "INVISIBLE",
+ "8": "GONE"
+ }
+ },
+ "android.view.WindowInsets.Side.InsetsSide": {
+ "flag": true,
+ "values": {
+ "1": "LEFT",
+ "2": "TOP",
+ "4": "RIGHT",
+ "8": "BOTTOM"
+ }
+ },
+ "android.view.WindowInsets.Type.InsetsType": {
+ "flag": true,
+ "values": {
+ "1": "STATUS_BARS",
+ "2": "NAVIGATION_BARS",
+ "4": "CAPTION_BAR",
+ "8": "IME",
+ "256": "WINDOW_DECOR",
+ "16": "SYSTEM_GESTURES",
+ "32": "MANDATORY_SYSTEM_GESTURES",
+ "64": "TAPPABLE_ELEMENT",
+ "128": "DISPLAY_CUTOUT"
+ }
+ },
+ "android.view.WindowInsetsAnimation.Callback.DispatchMode": {
+ "flag": false,
+ "values": {
+ "0": "DISPATCH_MODE_STOP",
+ "1": "DISPATCH_MODE_CONTINUE_ON_SUBTREE"
+ }
+ },
+ "android.view.WindowInsetsController.Appearance": {
+ "flag": true,
+ "values": {
+ "1": "APPEARANCE_OPAQUE_STATUS_BARS",
+ "2": "APPEARANCE_OPAQUE_NAVIGATION_BARS",
+ "4": "APPEARANCE_LOW_PROFILE_BARS",
+ "8": "APPEARANCE_LIGHT_STATUS_BARS",
+ "16": "APPEARANCE_LIGHT_NAVIGATION_BARS",
+ "32": "APPEARANCE_SEMI_TRANSPARENT_STATUS_BARS",
+ "64": "APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS"
+ }
+ },
+ "android.view.WindowInsetsController.Behavior": {
+ "flag": false,
+ "values": {
+ "0": "BEHAVIOR_SHOW_BARS_BY_TOUCH",
+ "1": "BEHAVIOR_SHOW_BARS_BY_SWIPE",
+ "2": "BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE"
+ }
+ },
+ "android.view.WindowManager.DisplayImePolicy": {
+ "flag": false,
+ "values": {
+ "0": "DISPLAY_IME_POLICY_LOCAL",
+ "1": "DISPLAY_IME_POLICY_FALLBACK_DISPLAY",
+ "2": "DISPLAY_IME_POLICY_HIDE"
+ }
+ },
+ "android.view.WindowManager.LayoutParams.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_ALLOW_LOCK_WHILE_SCREEN_ON",
+ "2": "FLAG_DIM_BEHIND",
+ "4": "FLAG_BLUR_BEHIND",
+ "8": "FLAG_NOT_FOCUSABLE",
+ "16": "FLAG_NOT_TOUCHABLE",
+ "32": "FLAG_NOT_TOUCH_MODAL",
+ "64": "FLAG_TOUCHABLE_WHEN_WAKING",
+ "128": "FLAG_KEEP_SCREEN_ON",
+ "256": "FLAG_LAYOUT_IN_SCREEN",
+ "512": "FLAG_LAYOUT_NO_LIMITS",
+ "1024": "FLAG_FULLSCREEN",
+ "2048": "FLAG_FORCE_NOT_FULLSCREEN",
+ "4096": "FLAG_DITHER",
+ "8192": "FLAG_SECURE",
+ "16384": "FLAG_SCALED",
+ "32768": "FLAG_IGNORE_CHEEK_PRESSES",
+ "65536": "FLAG_LAYOUT_INSET_DECOR",
+ "131072": "FLAG_ALT_FOCUSABLE_IM",
+ "262144": "FLAG_WATCH_OUTSIDE_TOUCH",
+ "524288": "FLAG_SHOW_WHEN_LOCKED",
+ "1048576": "FLAG_SHOW_WALLPAPER",
+ "2097152": "FLAG_TURN_SCREEN_ON",
+ "4194304": "FLAG_DISMISS_KEYGUARD",
+ "8388608": "FLAG_SPLIT_TOUCH",
+ "16777216": "FLAG_HARDWARE_ACCELERATED",
+ "33554432": "FLAG_LAYOUT_IN_OVERSCAN",
+ "67108864": "FLAG_TRANSLUCENT_STATUS",
+ "134217728": "FLAG_TRANSLUCENT_NAVIGATION",
+ "268435456": "FLAG_LOCAL_FOCUS_MODE",
+ "536870912": "FLAG_SLIPPERY",
+ "1073741824": "FLAG_LAYOUT_ATTACHED_IN_DECOR",
+ "-2147483648": "FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS"
+ }
+ },
+ "android.view.WindowManager.LayoutParams.InputFeatureFlags": {
+ "flag": true,
+ "values": {
+ "1": "INPUT_FEATURE_DISABLE_POINTER_GESTURES",
+ "2": "INPUT_FEATURE_NO_INPUT_CHANNEL",
+ "4": "INPUT_FEATURE_DISABLE_USER_ACTIVITY"
+ }
+ },
+ "android.view.WindowManager.LayoutParams.LayoutInDisplayCutoutMode": {
+ "flag": false,
+ "values": {
+ "0": "LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT",
+ "1": "LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES",
+ "2": "LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER",
+ "3": "LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS"
+ }
+ },
+ "android.view.WindowManager.LayoutParams.PrivateFlags": {
+ "flag": true,
+ "values": {
+ "1": "PRIVATE_FLAG_FAKE_HARDWARE_ACCELERATED",
+ "2": "PRIVATE_FLAG_FORCE_HARDWARE_ACCELERATED",
+ "4": "PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS",
+ "16": "SYSTEM_FLAG_SHOW_FOR_ALL_USERS",
+ "64": "PRIVATE_FLAG_NO_MOVE_ANIMATION",
+ "128": "PRIVATE_FLAG_COMPATIBLE_WINDOW",
+ "256": "PRIVATE_FLAG_SYSTEM_ERROR",
+ "2048": "PRIVATE_FLAG_DISABLE_WALLPAPER_TOUCH_EVENTS",
+ "4096": "PRIVATE_FLAG_FORCE_SHOW_STATUS_BAR",
+ "8192": "PRIVATE_FLAG_PRESERVE_GEOMETRY",
+ "16384": "PRIVATE_FLAG_FORCE_DECOR_VIEW_VISIBILITY",
+ "32768": "PRIVATE_FLAG_WILL_NOT_REPLACE_ON_RELAUNCH",
+ "65536": "PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME",
+ "131072": "PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS",
+ "262144": "PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE",
+ "524288": "SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS",
+ "1048576": "PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY",
+ "8388608": "PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION",
+ "16777216": "PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC",
+ "33554432": "PRIVATE_FLAG_USE_BLAST",
+ "67108864": "PRIVATE_FLAG_APPEARANCE_CONTROLLED",
+ "134217728": "PRIVATE_FLAG_BEHAVIOR_CONTROLLED",
+ "268435456": "PRIVATE_FLAG_FIT_INSETS_CONTROLLED",
+ "536870912": "PRIVATE_FLAG_TRUSTED_OVERLAY",
+ "1073741824": "PRIVATE_FLAG_INSET_PARENT_FRAME_BY_IME",
+ "-2147483648": "PRIVATE_FLAG_INTERCEPT_GLOBAL_DRAG_AND_DROP"
+ }
+ },
+ "android.view.WindowManager.LayoutParams.SoftInputModeFlags": {
+ "flag": true,
+ "values": {
+ "0": "SOFT_INPUT_ADJUST_UNSPECIFIED",
+ "1": "SOFT_INPUT_STATE_UNCHANGED",
+ "2": "SOFT_INPUT_STATE_HIDDEN",
+ "3": "SOFT_INPUT_STATE_ALWAYS_HIDDEN",
+ "4": "SOFT_INPUT_STATE_VISIBLE",
+ "5": "SOFT_INPUT_STATE_ALWAYS_VISIBLE",
+ "16": "SOFT_INPUT_ADJUST_RESIZE",
+ "32": "SOFT_INPUT_ADJUST_PAN",
+ "48": "SOFT_INPUT_ADJUST_NOTHING",
+ "256": "SOFT_INPUT_IS_FORWARD_NAVIGATION"
+ }
+ },
+ "android.view.WindowManager.LayoutParams.SystemFlags": {
+ "flag": true,
+ "values": {
+ "524288": "SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS",
+ "16": "SYSTEM_FLAG_SHOW_FOR_ALL_USERS"
+ }
+ },
+ "android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags": {
+ "flag": true,
+ "values": {
+ "0": "SYSTEM_UI_FLAG_VISIBLE",
+ "1": "SYSTEM_UI_FLAG_LOW_PROFILE",
+ "2": "SYSTEM_UI_FLAG_HIDE_NAVIGATION",
+ "4": "SYSTEM_UI_FLAG_FULLSCREEN",
+ "16": "SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR",
+ "256": "SYSTEM_UI_FLAG_LAYOUT_STABLE",
+ "512": "SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION",
+ "1024": "SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN",
+ "2048": "SYSTEM_UI_FLAG_IMMERSIVE",
+ "4096": "SYSTEM_UI_FLAG_IMMERSIVE_STICKY",
+ "8192": "SYSTEM_UI_FLAG_LIGHT_STATUS_BAR",
+ "65536": "STATUS_BAR_DISABLE_EXPAND",
+ "131072": "STATUS_BAR_DISABLE_NOTIFICATION_ICONS",
+ "262144": "STATUS_BAR_DISABLE_NOTIFICATION_ALERTS",
+ "524288": "STATUS_BAR_DISABLE_NOTIFICATION_TICKER",
+ "1048576": "STATUS_BAR_DISABLE_SYSTEM_INFO",
+ "2097152": "STATUS_BAR_DISABLE_HOME",
+ "4194304": "STATUS_BAR_DISABLE_BACK",
+ "8388608": "STATUS_BAR_DISABLE_CLOCK",
+ "16777216": "STATUS_BAR_DISABLE_RECENT",
+ "33554432": "STATUS_BAR_DISABLE_SEARCH"
+ }
+ },
+ "android.view.WindowManager.LayoutParams.WindowType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_BASE_APPLICATION",
+ "2": "TYPE_APPLICATION",
+ "3": "TYPE_APPLICATION_STARTING",
+ "4": "TYPE_DRAWN_APPLICATION",
+ "1000": "TYPE_APPLICATION_PANEL",
+ "1001": "TYPE_APPLICATION_MEDIA",
+ "1002": "TYPE_APPLICATION_SUB_PANEL",
+ "1003": "TYPE_APPLICATION_ATTACHED_DIALOG",
+ "1004": "TYPE_APPLICATION_MEDIA_OVERLAY",
+ "1005": "TYPE_APPLICATION_ABOVE_SUB_PANEL",
+ "2000": "TYPE_STATUS_BAR",
+ "2001": "TYPE_SEARCH_BAR",
+ "2002": "TYPE_PHONE",
+ "2003": "TYPE_SYSTEM_ALERT",
+ "2004": "TYPE_KEYGUARD",
+ "2005": "TYPE_TOAST",
+ "2006": "TYPE_SYSTEM_OVERLAY",
+ "2007": "TYPE_PRIORITY_PHONE",
+ "2008": "TYPE_SYSTEM_DIALOG",
+ "2009": "TYPE_KEYGUARD_DIALOG",
+ "2010": "TYPE_SYSTEM_ERROR",
+ "2011": "TYPE_INPUT_METHOD",
+ "2012": "TYPE_INPUT_METHOD_DIALOG",
+ "2013": "TYPE_WALLPAPER",
+ "2014": "TYPE_STATUS_BAR_PANEL",
+ "2015": "TYPE_SECURE_SYSTEM_OVERLAY",
+ "2016": "TYPE_DRAG",
+ "2017": "TYPE_STATUS_BAR_SUB_PANEL",
+ "2018": "TYPE_POINTER",
+ "2019": "TYPE_NAVIGATION_BAR",
+ "2020": "TYPE_VOLUME_OVERLAY",
+ "2021": "TYPE_BOOT_PROGRESS",
+ "2022": "TYPE_INPUT_CONSUMER",
+ "2024": "TYPE_NAVIGATION_BAR_PANEL",
+ "2026": "TYPE_DISPLAY_OVERLAY",
+ "2027": "TYPE_MAGNIFICATION_OVERLAY",
+ "2030": "TYPE_PRIVATE_PRESENTATION",
+ "2031": "TYPE_VOICE_INTERACTION",
+ "2032": "TYPE_ACCESSIBILITY_OVERLAY",
+ "2033": "TYPE_VOICE_INTERACTION_STARTING",
+ "2034": "TYPE_DOCK_DIVIDER",
+ "2035": "TYPE_QS_DIALOG",
+ "2036": "TYPE_SCREENSHOT",
+ "2037": "TYPE_PRESENTATION",
+ "2038": "TYPE_APPLICATION_OVERLAY",
+ "2039": "TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY",
+ "2040": "TYPE_NOTIFICATION_SHADE",
+ "2041": "TYPE_STATUS_BAR_ADDITIONAL"
+ }
+ },
+ "android.view.WindowManager.RemoveContentMode": {
+ "flag": false,
+ "values": {
+ "0": "REMOVE_CONTENT_MODE_UNDEFINED",
+ "1": "REMOVE_CONTENT_MODE_MOVE_TO_PRIMARY",
+ "2": "REMOVE_CONTENT_MODE_DESTROY"
+ }
+ },
+ "android.view.WindowManager.ScreenshotSource": {
+ "flag": false,
+ "values": {
+ "0": "SCREENSHOT_GLOBAL_ACTIONS",
+ "1": "SCREENSHOT_KEY_CHORD",
+ "2": "SCREENSHOT_KEY_OTHER",
+ "3": "SCREENSHOT_OVERVIEW",
+ "4": "SCREENSHOT_ACCESSIBILITY_ACTIONS",
+ "5": "SCREENSHOT_OTHER",
+ "6": "SCREENSHOT_VENDOR_GESTURE"
+ }
+ },
+ "android.view.WindowManager.ShellRootLayer": {
+ "flag": false,
+ "values": {
+ "0": "SHELL_ROOT_LAYER_DIVIDER",
+ "1": "SHELL_ROOT_LAYER_PIP"
+ }
+ },
+ "android.view.WindowManager.TransitionFlags": {
+ "flag": true,
+ "values": {
+ "1": "TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE",
+ "2": "TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION",
+ "4": "TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER",
+ "8": "TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION",
+ "16": "TRANSIT_FLAG_APP_CRASHED",
+ "32": "TRANSIT_FLAG_OPEN_BEHIND"
+ }
+ },
+ "android.view.WindowManager.TransitionOldType": {
+ "flag": false,
+ "values": {
+ "-1": "TRANSIT_OLD_UNSET",
+ "0": "TRANSIT_OLD_NONE",
+ "6": "TRANSIT_OLD_ACTIVITY_OPEN",
+ "7": "TRANSIT_OLD_ACTIVITY_CLOSE",
+ "8": "TRANSIT_OLD_TASK_OPEN",
+ "9": "TRANSIT_OLD_TASK_CLOSE",
+ "10": "TRANSIT_OLD_TASK_TO_FRONT",
+ "11": "TRANSIT_OLD_TASK_TO_BACK",
+ "12": "TRANSIT_OLD_WALLPAPER_CLOSE",
+ "13": "TRANSIT_OLD_WALLPAPER_OPEN",
+ "14": "TRANSIT_OLD_WALLPAPER_INTRA_OPEN",
+ "15": "TRANSIT_OLD_WALLPAPER_INTRA_CLOSE",
+ "16": "TRANSIT_OLD_TASK_OPEN_BEHIND",
+ "18": "TRANSIT_OLD_ACTIVITY_RELAUNCH",
+ "20": "TRANSIT_OLD_KEYGUARD_GOING_AWAY",
+ "21": "TRANSIT_OLD_KEYGUARD_GOING_AWAY_ON_WALLPAPER",
+ "22": "TRANSIT_OLD_KEYGUARD_OCCLUDE",
+ "23": "TRANSIT_OLD_KEYGUARD_UNOCCLUDE",
+ "24": "TRANSIT_OLD_TRANSLUCENT_ACTIVITY_OPEN",
+ "25": "TRANSIT_OLD_TRANSLUCENT_ACTIVITY_CLOSE",
+ "26": "TRANSIT_OLD_CRASHING_ACTIVITY_CLOSE",
+ "27": "TRANSIT_OLD_TASK_CHANGE_WINDOWING_MODE"
+ }
+ },
+ "android.view.WindowManager.TransitionType": {
+ "flag": false,
+ "values": {
+ "0": "TRANSIT_NONE",
+ "1": "TRANSIT_OPEN",
+ "2": "TRANSIT_CLOSE",
+ "3": "TRANSIT_TO_FRONT",
+ "4": "TRANSIT_TO_BACK",
+ "5": "TRANSIT_RELAUNCH",
+ "6": "TRANSIT_CHANGE_WINDOWING_MODE",
+ "7": "TRANSIT_KEYGUARD_GOING_AWAY",
+ "8": "TRANSIT_KEYGUARD_OCCLUDE",
+ "9": "TRANSIT_KEYGUARD_UNOCCLUDE"
+ }
+ },
+ "android.view.WindowManagerPolicyConstants.OnReason": {
+ "flag": false,
+ "values": {
+ "1": "ON_BECAUSE_OF_USER",
+ "2": "ON_BECAUSE_OF_APPLICATION",
+ "3": "ON_BECAUSE_OF_UNKNOWN"
+ }
+ },
+ "android.view.accessibility.AccessibilityEvent.ContentChangeTypes": {
+ "flag": true,
+ "values": {
+ "0": "CONTENT_CHANGE_TYPE_UNDEFINED",
+ "1": "CONTENT_CHANGE_TYPE_SUBTREE",
+ "2": "CONTENT_CHANGE_TYPE_TEXT",
+ "4": "CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION",
+ "64": "CONTENT_CHANGE_TYPE_STATE_DESCRIPTION",
+ "8": "CONTENT_CHANGE_TYPE_PANE_TITLE",
+ "16": "CONTENT_CHANGE_TYPE_PANE_APPEARED",
+ "32": "CONTENT_CHANGE_TYPE_PANE_DISAPPEARED"
+ }
+ },
+ "android.view.accessibility.AccessibilityEvent.EventType": {
+ "flag": true,
+ "values": {
+ "1": "TYPE_VIEW_CLICKED",
+ "2": "TYPE_VIEW_LONG_CLICKED",
+ "4": "TYPE_VIEW_SELECTED",
+ "8": "TYPE_VIEW_FOCUSED",
+ "16": "TYPE_VIEW_TEXT_CHANGED",
+ "32": "TYPE_WINDOW_STATE_CHANGED",
+ "64": "TYPE_NOTIFICATION_STATE_CHANGED",
+ "128": "TYPE_VIEW_HOVER_ENTER",
+ "256": "TYPE_VIEW_HOVER_EXIT",
+ "512": "TYPE_TOUCH_EXPLORATION_GESTURE_START",
+ "1024": "TYPE_TOUCH_EXPLORATION_GESTURE_END",
+ "2048": "TYPE_WINDOW_CONTENT_CHANGED",
+ "4096": "TYPE_VIEW_SCROLLED",
+ "8192": "TYPE_VIEW_TEXT_SELECTION_CHANGED",
+ "16384": "TYPE_ANNOUNCEMENT",
+ "32768": "TYPE_VIEW_ACCESSIBILITY_FOCUSED",
+ "65536": "TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED",
+ "131072": "TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY",
+ "262144": "TYPE_GESTURE_DETECTION_START",
+ "524288": "TYPE_GESTURE_DETECTION_END",
+ "1048576": "TYPE_TOUCH_INTERACTION_START",
+ "2097152": "TYPE_TOUCH_INTERACTION_END",
+ "4194304": "TYPE_WINDOWS_CHANGED",
+ "8388608": "TYPE_VIEW_CONTEXT_CLICKED",
+ "16777216": "TYPE_ASSIST_READING_CONTEXT"
+ }
+ },
+ "android.view.accessibility.AccessibilityEvent.WindowsChangeTypes": {
+ "flag": true,
+ "values": {
+ "1": "WINDOWS_CHANGE_ADDED",
+ "2": "WINDOWS_CHANGE_REMOVED",
+ "4": "WINDOWS_CHANGE_TITLE",
+ "8": "WINDOWS_CHANGE_BOUNDS",
+ "16": "WINDOWS_CHANGE_LAYER",
+ "32": "WINDOWS_CHANGE_ACTIVE",
+ "64": "WINDOWS_CHANGE_FOCUSED",
+ "128": "WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED",
+ "256": "WINDOWS_CHANGE_PARENT",
+ "512": "WINDOWS_CHANGE_CHILDREN",
+ "1024": "WINDOWS_CHANGE_PIP"
+ }
+ },
+ "android.view.accessibility.AccessibilityManager.ContentFlag": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_CONTENT_ICONS",
+ "2": "FLAG_CONTENT_TEXT",
+ "4": "FLAG_CONTENT_CONTROLS"
+ }
+ },
+ "android.view.accessibility.AccessibilityManager.ShortcutType": {
+ "flag": false,
+ "values": {
+ "0": "ACCESSIBILITY_BUTTON",
+ "1": "ACCESSIBILITY_SHORTCUT_KEY"
+ }
+ },
+ "android.view.accessibility.AccessibilityRequestPreparer.RequestTypes": {
+ "flag": true,
+ "values": {
+ "1": "REQUEST_TYPE_EXTRA_DATA"
+ }
+ },
+ "android.view.autofill.AutofillManager.AutofillCallback.AutofillEventType": {
+ "flag": false,
+ "values": {
+ "1": "EVENT_INPUT_SHOWN",
+ "2": "EVENT_INPUT_HIDDEN",
+ "3": "EVENT_INPUT_UNAVAILABLE"
+ }
+ },
+ "android.view.autofill.AutofillManager.SmartSuggestionMode": {
+ "flag": false,
+ "values": {
+ "0": "FLAG_SMART_SUGGESTION_OFF",
+ "1": "FLAG_SMART_SUGGESTION_SYSTEM"
+ }
+ },
+ "android.view.contentcapture.ContentCaptureCondition.Flags": {
+ "flag": true,
+ "values": {
+ "2": "FLAG_IS_REGEX"
+ }
+ },
+ "android.view.contentcapture.ContentCaptureContext.ContextCreationFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_DISABLED_BY_APP",
+ "2": "FLAG_DISABLED_BY_FLAG_SECURE",
+ "4": "FLAG_RECONNECTED"
+ }
+ },
+ "android.view.contentcapture.ContentCaptureEvent.EventType": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_VIEW_APPEARED",
+ "2": "TYPE_VIEW_DISAPPEARED",
+ "3": "TYPE_VIEW_TEXT_CHANGED",
+ "4": "TYPE_VIEW_TREE_APPEARING",
+ "5": "TYPE_VIEW_TREE_APPEARED",
+ "6": "TYPE_CONTEXT_UPDATED",
+ "8": "TYPE_SESSION_PAUSED",
+ "7": "TYPE_SESSION_RESUMED",
+ "9": "TYPE_VIEW_INSETS_CHANGED"
+ }
+ },
+ "android.view.contentcapture.ContentCaptureManager.DataShareError": {
+ "flag": false,
+ "values": {
+ "1": "DATA_SHARE_ERROR_UNKNOWN",
+ "2": "DATA_SHARE_ERROR_CONCURRENT_REQUEST",
+ "3": "DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED"
+ }
+ },
+ "android.view.contentcapture.ContentCaptureManager.LoggingLevel": {
+ "flag": false,
+ "values": {
+ "0": "LOGGING_LEVEL_OFF",
+ "1": "LOGGING_LEVEL_DEBUG",
+ "2": "LOGGING_LEVEL_VERBOSE"
+ }
+ },
+ "android.view.contentcapture.ContentCaptureSession.FlushReason": {
+ "flag": false,
+ "values": {
+ "1": "FLUSH_REASON_FULL",
+ "2": "FLUSH_REASON_VIEW_ROOT_ENTERED",
+ "3": "FLUSH_REASON_SESSION_STARTED",
+ "4": "FLUSH_REASON_SESSION_FINISHED",
+ "5": "FLUSH_REASON_IDLE_TIMEOUT",
+ "6": "FLUSH_REASON_TEXT_CHANGE_TIMEOUT",
+ "7": "FLUSH_REASON_SESSION_CONNECTED"
+ }
+ },
+ "android.view.contentcapture.DataRemovalRequest.Flags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_IS_PREFIX"
+ }
+ },
+ "android.view.inputmethod.EditorInfo.TrimPolicy": {
+ "flag": false,
+ "values": {
+ "0": "HEAD",
+ "1": "TAIL"
+ }
+ },
+ "android.view.inputmethod.InputConnection.GetTextType": {
+ "flag": true,
+ "values": {
+ "1": "GET_TEXT_WITH_STYLES"
+ }
+ },
+ "android.view.inputmethod.InputConnectionInspector.MissingMethodFlags": {
+ "flag": false,
+ "values": {
+ "1": "GET_SELECTED_TEXT",
+ "2": "SET_COMPOSING_REGION",
+ "4": "COMMIT_CORRECTION",
+ "8": "REQUEST_CURSOR_UPDATES",
+ "16": "DELETE_SURROUNDING_TEXT_IN_CODE_POINTS",
+ "32": "GET_HANDLER",
+ "64": "CLOSE_CONNECTION",
+ "128": "COMMIT_CONTENT",
+ "256": "GET_SURROUNDING_TEXT"
+ }
+ },
+ "android.view.textclassifier.SelectionEvent.ActionType": {
+ "flag": false,
+ "values": {
+ "100": "ACTION_OVERTYPE",
+ "101": "ACTION_COPY",
+ "102": "ACTION_PASTE",
+ "103": "ACTION_CUT",
+ "104": "ACTION_SHARE",
+ "105": "ACTION_SMART_SHARE",
+ "106": "ACTION_DRAG",
+ "107": "ACTION_ABANDON",
+ "108": "ACTION_OTHER",
+ "200": "ACTION_SELECT_ALL",
+ "201": "ACTION_RESET"
+ }
+ },
+ "android.view.textclassifier.SelectionEvent.EventType": {
+ "flag": false,
+ "values": {
+ "100": "ACTION_OVERTYPE",
+ "101": "ACTION_COPY",
+ "102": "ACTION_PASTE",
+ "103": "ACTION_CUT",
+ "104": "ACTION_SHARE",
+ "105": "ACTION_SMART_SHARE",
+ "106": "ACTION_DRAG",
+ "107": "ACTION_ABANDON",
+ "108": "ACTION_OTHER",
+ "200": "ACTION_SELECT_ALL",
+ "201": "ACTION_RESET",
+ "1": "EVENT_SELECTION_STARTED",
+ "2": "EVENT_SELECTION_MODIFIED",
+ "3": "EVENT_SMART_SELECTION_SINGLE",
+ "4": "EVENT_SMART_SELECTION_MULTI",
+ "5": "EVENT_AUTO_SELECTION"
+ }
+ },
+ "android.view.textclassifier.SelectionEvent.InvocationMethod": {
+ "flag": false,
+ "values": {
+ "1": "INVOCATION_MANUAL",
+ "2": "INVOCATION_LINK",
+ "0": "INVOCATION_UNKNOWN"
+ }
+ },
+ "android.view.textclassifier.TextClassification.IntentType": {
+ "flag": false,
+ "values": {
+ "-1": "UNSUPPORTED",
+ "0": "ACTIVITY",
+ "1": "SERVICE"
+ }
+ },
+ "android.view.textclassifier.TextClassifier.TextClassifierType": {
+ "flag": false,
+ "values": {
+ "0": "LOCAL",
+ "1": "SYSTEM",
+ "2": "DEFAULT_SYSTEM"
+ }
+ },
+ "android.view.textclassifier.TextClassifierEvent.Category": {
+ "flag": false,
+ "values": {
+ "1": "CATEGORY_SELECTION",
+ "2": "CATEGORY_LINKIFY",
+ "3": "CATEGORY_CONVERSATION_ACTIONS",
+ "4": "CATEGORY_LANGUAGE_DETECTION"
+ }
+ },
+ "android.view.textclassifier.TextClassifierEvent.Type": {
+ "flag": false,
+ "values": {
+ "1": "TYPE_SELECTION_STARTED",
+ "2": "TYPE_SELECTION_MODIFIED",
+ "3": "TYPE_SMART_SELECTION_SINGLE",
+ "4": "TYPE_SMART_SELECTION_MULTI",
+ "5": "TYPE_AUTO_SELECTION",
+ "6": "TYPE_ACTIONS_SHOWN",
+ "7": "TYPE_LINK_CLICKED",
+ "8": "TYPE_OVERTYPE",
+ "9": "TYPE_COPY_ACTION",
+ "10": "TYPE_PASTE_ACTION",
+ "11": "TYPE_CUT_ACTION",
+ "12": "TYPE_SHARE_ACTION",
+ "13": "TYPE_SMART_ACTION",
+ "14": "TYPE_SELECTION_DRAG",
+ "15": "TYPE_SELECTION_DESTROYED",
+ "16": "TYPE_OTHER_ACTION",
+ "17": "TYPE_SELECT_ALL",
+ "18": "TYPE_SELECTION_RESET",
+ "19": "TYPE_MANUAL_REPLY",
+ "20": "TYPE_ACTIONS_GENERATED",
+ "21": "TYPE_LINKS_GENERATED"
+ }
+ },
+ "android.view.textclassifier.TextLinks.ApplyStrategy": {
+ "flag": false,
+ "values": {
+ "0": "APPLY_STRATEGY_IGNORE",
+ "1": "APPLY_STRATEGY_REPLACE"
+ }
+ },
+ "android.view.textclassifier.TextLinks.Status": {
+ "flag": false,
+ "values": {
+ "0": "STATUS_LINKS_APPLIED",
+ "1": "STATUS_NO_LINKS_FOUND",
+ "2": "STATUS_NO_LINKS_APPLIED",
+ "3": "STATUS_DIFFERENT_TEXT",
+ "4": "STATUS_UNSUPPORTED_CHARACTER"
+ }
+ },
+ "android.view.textclassifier.TextLinks.TextLinkSpan.InvocationMethod": {
+ "flag": false,
+ "values": {
+ "-1": "INVOCATION_METHOD_UNSPECIFIED",
+ "0": "INVOCATION_METHOD_TOUCH",
+ "1": "INVOCATION_METHOD_KEYBOARD"
+ }
+ },
+ "android.webkit.TracingConfig.PredefinedCategories": {
+ "flag": true,
+ "values": {
+ "0": "CATEGORIES_NONE",
+ "1": "CATEGORIES_ALL",
+ "2": "CATEGORIES_ANDROID_WEBVIEW",
+ "4": "CATEGORIES_WEB_DEVELOPER",
+ "8": "CATEGORIES_INPUT_LATENCY",
+ "16": "CATEGORIES_RENDERING",
+ "32": "CATEGORIES_JAVASCRIPT_AND_RENDERING",
+ "64": "CATEGORIES_FRAME_VIEWER"
+ }
+ },
+ "android.webkit.TracingConfig.TracingMode": {
+ "flag": false,
+ "values": {
+ "0": "RECORD_UNTIL_FULL",
+ "1": "RECORD_CONTINUOUSLY"
+ }
+ },
+ "android.webkit.WebSettings.CacheMode": {
+ "flag": false,
+ "values": {
+ "-1": "LOAD_DEFAULT",
+ "0": "LOAD_NORMAL",
+ "1": "LOAD_CACHE_ELSE_NETWORK",
+ "2": "LOAD_NO_CACHE",
+ "3": "LOAD_CACHE_ONLY"
+ }
+ },
+ "android.webkit.WebSettings.ForceDark": {
+ "flag": false,
+ "values": {
+ "0": "FORCE_DARK_OFF",
+ "1": "FORCE_DARK_AUTO",
+ "2": "FORCE_DARK_ON"
+ }
+ },
+ "android.webkit.WebSettings.MenuItemFlags": {
+ "flag": true,
+ "values": {
+ "0": "MENU_ITEM_NONE",
+ "1": "MENU_ITEM_SHARE",
+ "2": "MENU_ITEM_WEB_SEARCH",
+ "4": "MENU_ITEM_PROCESS_TEXT"
+ }
+ },
+ "android.webkit.WebView.RendererPriority": {
+ "flag": false,
+ "values": {
+ "0": "RENDERER_PRIORITY_WAIVED",
+ "1": "RENDERER_PRIORITY_BOUND",
+ "2": "RENDERER_PRIORITY_IMPORTANT"
+ }
+ },
+ "android.webkit.WebViewClient.SafeBrowsingThreat": {
+ "flag": false,
+ "values": {
+ "0": "SAFE_BROWSING_THREAT_UNKNOWN",
+ "1": "SAFE_BROWSING_THREAT_MALWARE",
+ "2": "SAFE_BROWSING_THREAT_PHISHING",
+ "3": "SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE",
+ "4": "SAFE_BROWSING_THREAT_BILLING"
+ }
+ },
+ "android.widget.AutoCompleteTextView.InputMethodMode": {
+ "flag": false,
+ "values": {
+ "0": "INPUT_METHOD_FROM_FOCUSABLE",
+ "1": "INPUT_METHOD_NEEDED",
+ "2": "INPUT_METHOD_NOT_NEEDED"
+ }
+ },
+ "android.widget.DatePicker.DatePickerMode": {
+ "flag": false,
+ "values": {
+ "1": "MODE_SPINNER",
+ "2": "MODE_CALENDAR"
+ }
+ },
+ "android.widget.Editor.HandleType": {
+ "flag": false,
+ "values": {
+ "0": "HANDLE_TYPE_SELECTION_START",
+ "1": "HANDLE_TYPE_SELECTION_END"
+ }
+ },
+ "android.widget.Editor.MagnifierHandleTrigger": {
+ "flag": false,
+ "values": {
+ "1": "SELECTION_START",
+ "2": "SELECTION_END",
+ "0": "INSERTION"
+ }
+ },
+ "android.widget.Editor.TextActionMode": {
+ "flag": false,
+ "values": {
+ "0": "SELECTION",
+ "1": "INSERTION",
+ "2": "TEXT_LINK"
+ }
+ },
+ "android.widget.Editor.UndoInputFilter.MergeMode": {
+ "flag": false,
+ "values": {
+ "0": "MERGE_EDIT_MODE_FORCE_MERGE",
+ "1": "MERGE_EDIT_MODE_NEVER_MERGE",
+ "2": "MERGE_EDIT_MODE_NORMAL"
+ }
+ },
+ "android.widget.EditorTouchState.MultiTapStatus": {
+ "flag": false,
+ "values": {
+ "0": "NONE",
+ "1": "FIRST_TAP",
+ "2": "DOUBLE_TAP",
+ "3": "TRIPLE_CLICK"
+ }
+ },
+ "android.widget.GridLayout.AlignmentMode": {
+ "flag": false,
+ "values": {
+ "0": "ALIGN_BOUNDS",
+ "1": "ALIGN_MARGINS"
+ }
+ },
+ "android.widget.GridLayout.Orientation": {
+ "flag": false,
+ "values": {
+ "0": "HORIZONTAL",
+ "1": "VERTICAL"
+ }
+ },
+ "android.widget.GridView.StretchMode": {
+ "flag": false,
+ "values": {
+ "0": "NO_STRETCH",
+ "1": "STRETCH_SPACING",
+ "2": "STRETCH_COLUMN_WIDTH",
+ "3": "STRETCH_SPACING_UNIFORM"
+ }
+ },
+ "android.widget.LinearLayout.DividerMode": {
+ "flag": true,
+ "values": {
+ "0": "SHOW_DIVIDER_NONE",
+ "1": "SHOW_DIVIDER_BEGINNING",
+ "2": "SHOW_DIVIDER_MIDDLE",
+ "4": "SHOW_DIVIDER_END"
+ }
+ },
+ "android.widget.LinearLayout.OrientationMode": {
+ "flag": false,
+ "values": {
+ "0": "HORIZONTAL",
+ "1": "VERTICAL"
+ }
+ },
+ "android.widget.Magnifier.SourceBound": {
+ "flag": false,
+ "values": {
+ "0": "SOURCE_BOUND_MAX_IN_SURFACE",
+ "1": "SOURCE_BOUND_MAX_VISIBLE"
+ }
+ },
+ "android.widget.NumberPicker.OnScrollListener.ScrollState": {
+ "flag": false,
+ "values": {
+ "0": "SCROLL_STATE_IDLE",
+ "1": "SCROLL_STATE_TOUCH_SCROLL",
+ "2": "SCROLL_STATE_FLING"
+ }
+ },
+ "android.widget.RadialTimePickerView.PickerType": {
+ "flag": false,
+ "values": {
+ "0": "HOURS",
+ "1": "MINUTES"
+ }
+ },
+ "android.widget.RemoteViews.ApplyFlags": {
+ "flag": true,
+ "values": {
+ "1": "FLAG_REAPPLY_DISALLOWED",
+ "2": "FLAG_WIDGET_IS_COLLECTION_CHILD",
+ "4": "FLAG_USE_LIGHT_BACKGROUND_LAYOUT"
+ }
+ },
+ "android.widget.SmartSelectSprite.RectangleList.DisplayType": {
+ "flag": false,
+ "values": {
+ "0": "RECTANGLES",
+ "1": "POLYGON"
+ }
+ },
+ "android.widget.SmartSelectSprite.RoundedRectangleShape.ExpansionDirection": {
+ "flag": false,
+ "values": {
+ "-1": "LEFT",
+ "0": "CENTER",
+ "1": "RIGHT"
+ }
+ },
+ "android.widget.TextView.AutoSizeTextType": {
+ "flag": false,
+ "values": {
+ "0": "AUTO_SIZE_TEXT_TYPE_NONE",
+ "1": "AUTO_SIZE_TEXT_TYPE_UNIFORM"
+ }
+ },
+ "android.widget.TextView.XMLTypefaceAttr": {
+ "flag": false,
+ "values": {
+ "-1": "DEFAULT_TYPEFACE",
+ "1": "SANS",
+ "2": "SERIF",
+ "3": "MONOSPACE"
+ }
+ },
+ "android.widget.TimePicker.TimePickerMode": {
+ "flag": false,
+ "values": {
+ "1": "MODE_SPINNER",
+ "2": "MODE_CLOCK"
+ }
+ },
+ "android.widget.TimePickerClockDelegate.ChangeSource": {
+ "flag": false,
+ "values": {
+ "0": "FROM_EXTERNAL_API",
+ "1": "FROM_RADIAL_PICKER",
+ "2": "FROM_INPUT_PICKER"
+ }
+ },
+ "android.widget.Toast.Duration": {
+ "flag": false,
+ "values": {
+ "0": "LENGTH_SHORT",
+ "1": "LENGTH_LONG"
+ }
+ },
+ "android.window.TransitionInfo.TransitionMode": {
+ "flag": false,
+ "values": {
+ "0": "TRANSIT_NONE",
+ "1": "TRANSIT_OPEN",
+ "2": "TRANSIT_CLOSE",
+ "3": "TRANSIT_SHOW",
+ "4": "TRANSIT_HIDE",
+ "5": "TRANSIT_CHANGE"
+ }
+ },
+ "com.android.internal.accessibility.AccessibilityShortcutController.DialogStaus": {
+ "flag": false,
+ "values": {
+ "0": "NOT_SHOWN",
+ "1": "SHOWN"
+ }
+ },
+ "com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType": {
+ "flag": false,
+ "values": {
+ "0": "VOLUME_SHORTCUT_TOGGLE",
+ "1": "INVISIBLE_TOGGLE",
+ "2": "TOGGLE",
+ "3": "LAUNCH_ACTIVITY"
+ }
+ },
+ "com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode": {
+ "flag": false,
+ "values": {
+ "0": "LAUNCH",
+ "1": "EDIT"
+ }
+ },
+ "com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType": {
+ "flag": false,
+ "values": {
+ "0": "DEFAULT",
+ "1": "SOFTWARE",
+ "2": "HARDWARE",
+ "4": "TRIPLETAP"
+ }
+ },
+ "com.android.internal.app.AbstractMultiProfilePagerAdapter.Profile": {
+ "flag": false,
+ "values": {
+ "0": "PROFILE_PERSONAL",
+ "1": "PROFILE_WORK"
+ }
+ },
+ "com.android.internal.app.ChooserActivity.ContentPreviewType": {
+ "flag": false,
+ "values": {
+ "2": "CONTENT_PREVIEW_FILE",
+ "1": "CONTENT_PREVIEW_IMAGE",
+ "3": "CONTENT_PREVIEW_TEXT"
+ }
+ },
+ "com.android.internal.app.ChooserActivity.ShareTargetType": {
+ "flag": false,
+ "values": {
+ "0": "TARGET_TYPE_DEFAULT",
+ "1": "TARGET_TYPE_CHOOSER_TARGET",
+ "2": "TARGET_TYPE_SHORTCUTS_FROM_SHORTCUT_MANAGER",
+ "3": "TARGET_TYPE_SHORTCUTS_FROM_PREDICTION_SERVICE"
+ }
+ },
+ "com.android.internal.compat.ChangeReporter.Source": {
+ "flag": false,
+ "values": {
+ "0": "SOURCE_UNKNOWN_SOURCE",
+ "1": "SOURCE_APP_PROCESS",
+ "2": "SOURCE_SYSTEM_SERVER"
+ }
+ },
+ "com.android.internal.compat.ChangeReporter.State": {
+ "flag": false,
+ "values": {
+ "0": "STATE_UNKNOWN_STATE",
+ "1": "STATE_ENABLED",
+ "2": "STATE_DISABLED",
+ "3": "STATE_LOGGED"
+ }
+ },
+ "com.android.internal.compat.OverrideAllowedState.State": {
+ "flag": false,
+ "values": {
+ "0": "ALLOWED",
+ "1": "DISABLED_NOT_DEBUGGABLE",
+ "2": "DISABLED_NON_TARGET_SDK",
+ "3": "DISABLED_TARGET_SDK_TOO_HIGH",
+ "4": "PACKAGE_DOES_NOT_EXIST",
+ "5": "LOGGING_ONLY_CHANGE"
+ }
+ },
+ "com.android.internal.inputmethod.SoftInputShowHideReason": {
+ "flag": false,
+ "values": {
+ "0": "SHOW_SOFT_INPUT",
+ "1": "ATTACH_NEW_INPUT",
+ "2": "SHOW_MY_SOFT_INPUT",
+ "3": "HIDE_SOFT_INPUT",
+ "4": "HIDE_MY_SOFT_INPUT",
+ "5": "SHOW_AUTO_EDITOR_FORWARD_NAV",
+ "6": "SHOW_STATE_VISIBLE_FORWARD_NAV",
+ "7": "SHOW_STATE_ALWAYS_VISIBLE",
+ "8": "SHOW_SETTINGS_ON_CHANGE",
+ "9": "HIDE_SWITCH_USER",
+ "10": "HIDE_INVALID_USER",
+ "11": "HIDE_UNSPECIFIED_WINDOW",
+ "12": "HIDE_STATE_HIDDEN_FORWARD_NAV",
+ "13": "HIDE_ALWAYS_HIDDEN_STATE",
+ "14": "HIDE_RESET_SHELL_COMMAND",
+ "15": "HIDE_SETTINGS_ON_CHANGE",
+ "16": "HIDE_POWER_BUTTON_GO_HOME",
+ "17": "HIDE_DOCKED_STACK_ATTACHED",
+ "18": "HIDE_RECENTS_ANIMATION",
+ "19": "HIDE_BUBBLES",
+ "20": "HIDE_SAME_WINDOW_FOCUSED_WITHOUT_EDITOR"
+ }
+ },
+ "com.android.internal.inputmethod.StartInputFlags": {
+ "flag": true,
+ "values": {
+ "1": "VIEW_HAS_FOCUS",
+ "2": "IS_TEXT_EDITOR",
+ "4": "INITIAL_CONNECTION"
+ }
+ },
+ "com.android.internal.inputmethod.StartInputReason": {
+ "flag": false,
+ "values": {
+ "0": "UNSPECIFIED",
+ "1": "WINDOW_FOCUS_GAIN",
+ "2": "WINDOW_FOCUS_GAIN_REPORT_WITH_CONNECTION",
+ "3": "WINDOW_FOCUS_GAIN_REPORT_WITHOUT_CONNECTION",
+ "4": "APP_CALLED_RESTART_INPUT_API",
+ "5": "CHECK_FOCUS",
+ "6": "BOUND_TO_IMMS",
+ "7": "UNBOUND_FROM_IMMS",
+ "8": "ACTIVATED_BY_IMMS",
+ "9": "DEACTIVATED_BY_IMMS",
+ "10": "SESSION_CREATED_BY_IME"
+ }
+ },
+ "com.android.internal.inputmethod.UnbindReason": {
+ "flag": false,
+ "values": {
+ "0": "UNSPECIFIED",
+ "1": "SWITCH_CLIENT",
+ "2": "SWITCH_IME",
+ "3": "DISCONNECT_IME",
+ "4": "NO_IME",
+ "5": "SWITCH_IME_FAILED",
+ "6": "SWITCH_USER"
+ }
+ },
+ "com.android.internal.jank.InteractionJankMonitor.CujType": {
+ "flag": false,
+ "values": {
+ "0": "CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE",
+ "1": "CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE_LOCK",
+ "2": "CUJ_NOTIFICATION_SHADE_SCROLL_FLING",
+ "3": "CUJ_NOTIFICATION_SHADE_ROW_EXPAND",
+ "4": "CUJ_NOTIFICATION_SHADE_ROW_SWIPE",
+ "5": "CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE",
+ "6": "CUJ_NOTIFICATION_SHADE_QS_SCROLL_SWIPE",
+ "7": "CUJ_LAUNCHER_APP_LAUNCH_FROM_RECENTS",
+ "8": "CUJ_LAUNCHER_APP_LAUNCH_FROM_ICON",
+ "9": "CUJ_LAUNCHER_APP_CLOSE_TO_HOME",
+ "10": "CUJ_LAUNCHER_APP_CLOSE_TO_PIP",
+ "11": "CUJ_LAUNCHER_QUICK_SWITCH",
+ "12": "CUJ_NOTIFICATION_HEADS_UP_APPEAR",
+ "13": "CUJ_NOTIFICATION_HEADS_UP_DISAPPEAR",
+ "14": "CUJ_NOTIFICATION_ADD",
+ "15": "CUJ_NOTIFICATION_REMOVE",
+ "16": "CUJ_NOTIFICATION_APP_START"
+ }
+ },
+ "com.android.internal.location.ProviderProperties.Accuracy": {
+ "flag": false,
+ "values": {
+ "1": "ACCURACY_FINE",
+ "2": "ACCURACY_COARSE"
+ }
+ },
+ "com.android.internal.location.ProviderProperties.PowerRequirement": {
+ "flag": false,
+ "values": {
+ "1": "POWER_LOW",
+ "2": "POWER_MEDIUM",
+ "3": "POWER_HIGH"
+ }
+ },
+ "com.android.internal.location.timezone.LocationTimeZoneEvent.EventType": {
+ "flag": false,
+ "values": {
+ "0": "EVENT_TYPE_UNKNOWN",
+ "1": "EVENT_TYPE_PERMANENT_FAILURE",
+ "2": "EVENT_TYPE_SUCCESS",
+ "3": "EVENT_TYPE_UNCERTAIN"
+ }
+ },
+ "com.android.internal.policy.TaskResizingAlgorithm.CtrlType": {
+ "flag": true,
+ "values": {
+ "0": "CTRL_NONE",
+ "1": "CTRL_LEFT",
+ "2": "CTRL_RIGHT",
+ "4": "CTRL_TOP",
+ "8": "CTRL_BOTTOM"
+ }
+ },
+ "com.android.internal.power.MeasuredEnergyArray.MeasuredEnergySubsystem": {
+ "flag": false,
+ "values": {
+ "-1": "SUBSYSTEM_UNKNOWN",
+ "0": "SUBSYSTEM_DISPLAY"
+ }
+ },
+ "com.android.internal.power.MeasuredEnergyStats.EnergyBucket": {
+ "flag": false,
+ "values": {
+ "-1": "ENERGY_BUCKET_UNKNOWN",
+ "0": "ENERGY_BUCKET_SCREEN_ON",
+ "1": "ENERGY_BUCKET_SCREEN_DOZE",
+ "2": "ENERGY_BUCKET_SCREEN_OTHER"
+ }
+ },
+ "com.android.internal.util.LocationPermissionChecker.LocationPermissionCheckStatus": {
+ "flag": false,
+ "values": {
+ "0": "SUCCEEDED",
+ "1": "ERROR_LOCATION_MODE_OFF",
+ "2": "ERROR_LOCATION_PERMISSION_MISSING"
+ }
+ },
+ "com.android.internal.view.InputBindResult.ResultCode": {
+ "flag": false,
+ "values": {
+ "0": "SUCCESS_WITH_IME_SESSION",
+ "1": "SUCCESS_WAITING_IME_SESSION",
+ "2": "SUCCESS_WAITING_IME_BINDING",
+ "4": "SUCCESS_REPORT_WINDOW_FOCUS_ONLY",
+ "5": "ERROR_NULL",
+ "6": "ERROR_NO_IME",
+ "7": "ERROR_INVALID_PACKAGE_NAME",
+ "8": "ERROR_SYSTEM_NOT_READY",
+ "9": "ERROR_IME_NOT_CONNECTED",
+ "10": "ERROR_INVALID_USER",
+ "11": "ERROR_NULL_EDITOR_INFO",
+ "12": "ERROR_NOT_IME_TARGET_WINDOW",
+ "13": "ERROR_NO_EDITOR",
+ "14": "ERROR_DISPLAY_ID_MISMATCH",
+ "15": "ERROR_INVALID_DISPLAY_ID",
+ "16": "ERROR_INVALID_CLIENT"
+ }
+ },
+ "com.android.internal.view.menu.CascadingMenuPopup.HorizPosition": {
+ "flag": false,
+ "values": {
+ "0": "HORIZ_POSITION_LEFT",
+ "1": "HORIZ_POSITION_RIGHT"
+ }
+ },
+ "com.android.internal.widget.LockPatternUtils.CredentialType": {
+ "flag": false,
+ "values": {
+ "-1": "CREDENTIAL_TYPE_NONE",
+ "1": "CREDENTIAL_TYPE_PATTERN",
+ "4": "CREDENTIAL_TYPE_PASSWORD",
+ "3": "CREDENTIAL_TYPE_PIN"
+ }
+ },
+ "com.android.internal.widget.LockPatternUtils.StrongAuthTracker.StrongAuthFlags": {
+ "flag": true,
+ "values": {
+ "0": "STRONG_AUTH_NOT_REQUIRED",
+ "1": "STRONG_AUTH_REQUIRED_AFTER_BOOT",
+ "2": "STRONG_AUTH_REQUIRED_AFTER_DPM_LOCK_NOW",
+ "4": "SOME_AUTH_REQUIRED_AFTER_USER_REQUEST",
+ "8": "STRONG_AUTH_REQUIRED_AFTER_LOCKOUT",
+ "16": "STRONG_AUTH_REQUIRED_AFTER_TIMEOUT",
+ "32": "STRONG_AUTH_REQUIRED_AFTER_USER_LOCKDOWN",
+ "128": "STRONG_AUTH_REQUIRED_AFTER_NON_STRONG_BIOMETRICS_TIMEOUT"
+ }
+ },
+ "com.android.internal.widget.LockPatternUtils.VerifyFlag": {
+ "flag": true,
+ "values": {
+ "1": "VERIFY_FLAG_REQUEST_GK_PW_HANDLE"
+ }
+ },
+ "com.android.internal.widget.MessagingGroup.ImageDisplayLocation": {
+ "flag": false,
+ "values": {
+ "0": "IMAGE_DISPLAY_LOCATION_INLINE",
+ "1": "IMAGE_DISPLAY_LOCATION_AT_END",
+ "2": "IMAGE_DISPLAY_LOCATION_EXTERNAL"
+ }
+ },
+ "com.android.internal.widget.RecyclerView.ItemAnimator.AdapterChanges": {
+ "flag": true,
+ "values": {
+ "2": "FLAG_CHANGED",
+ "8": "FLAG_REMOVED",
+ "2048": "FLAG_MOVED",
+ "4": "FLAG_INVALIDATED",
+ "4096": "FLAG_APPEARED_IN_PRE_LAYOUT"
+ }
+ },
+ "com.android.internal.widget.RecyclerView.State.LayoutState": {
+ "flag": true,
+ "values": {
+ "1": "STEP_START",
+ "2": "STEP_LAYOUT",
+ "4": "STEP_ANIMATIONS"
+ }
+ },
+ "com.android.internal.widget.VerifyCredentialResponse.ResponseCode": {
+ "flag": false,
+ "values": {
+ "-1": "RESPONSE_ERROR",
+ "0": "RESPONSE_OK",
+ "1": "RESPONSE_RETRY"
+ }
+ },
+ "com.android.server.deviceidle.IDeviceIdleConstraint.MinimumState": {
+ "flag": false,
+ "values": {
+ "0": "ACTIVE",
+ "1": "SENSING_OR_ABOVE"
+ }
+ }
+}